关于numpy.take()用法

此文章是对我当时使用错误后的改正,用以记录下来,并作分享。

首先用numpy定义一个二维数组

import numpy as np
a = np.random.uniform(-10, 10, size=(3, 5))
print(a)output:
[[ 9.56258678  0.78449895  1.48800984  3.86522118  3.0777375 ][ 8.6176819   6.58367454  6.16471974 -3.71131304 -8.22857358][ 9.73814042  8.80724384  6.70023151 -2.12578197  3.01890996]]

然后本意是想借助index用numpy.take方法得出反序结果

indexes = np.argsort(-a)  # argsort返回数组从小到大的数值的索引
q = len(indexes[0])
print(indexes)
print(np.take(a, indexes))output:
[[0 3 4 2 1][0 1 2 3 4][0 1 2 4 3]]
array([[ 9.56258678,  3.86522118,  3.0777375 ,  1.48800984,  0.78449895],[ 8.6176819 ,  6.58367454,  6.16471974, -3.71131304, -8.22857358],[ 9.73814042,  8.80724384,  6.70023151,  3.01890996, -2.12578197]])

结果不料它返回的数据中全是a[0]的数据,a[1]a[2]被雪藏
查阅了官方文档得到下面的话:
If indices is not one dimensional, the output also has these dimensions.
翻译为:如果索引不是一维的,则输出也具有这些维度。
并有一例:

可以得知其后的index应为看做一维数组的索引,代码修正后便无误了

indexes = np.argsort(-a)
print(indexes)
print('*' * 30)
q = len(indexes[0])
j = 1
for i in indexes[1:]:i += q * jj += 1
print(indexes)
print(np.take(a, indexes))output:
[[0 3 4 2 1][0 1 2 3 4][0 1 2 4 3]]******************************
[[ 0  3  4  2  1][ 5  6  7  8  9][10 11 12 14 13]]
array([[ 9.56258678,  3.86522118,  3.0777375 ,  1.48800984,  0.78449895],[ 8.6176819 ,  6.58367454,  6.16471974, -3.71131304, -8.22857358],[ 9.73814042,  8.80724384,  6.70023151,  3.01890996, -2.12578197]])

关于numpy.take()用法相关推荐

  1. numpy.where()用法

    numpy.where() 用法详解 - massquantity - 博客园 numpy.where() 用法详解 - massquantity - 博客园

  2. 【Data Mining】机器学习三剑客之Numpy常用用法总结

    点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自AI蜗牛车,禁二次转载 一.前言 玩数据分析.数据挖掘.AI的都知道这个pyt ...

  3. 【Python数据清洗】numpy.take()用法

    numpy.take()用法 学了Python很长时间了但是一直没有去研究take的使用方法 今天周末加班研究一下 写一个简单的笔记,基本上都是借鉴别人的 其旨在根据提供的索引值将元素形成数组输出,如 ...

  4. python numpy allclose用法及代码示例

    python numpy allclose用法及代码示例 用法: numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) 如果两个数 ...

  5. numpy库函数用法(一):sum函数用法

    专栏: numpy库函数用法 目录 一.sum函数通用格式 二.sum函数相关参数 三.sum函数举例 1.普通求和 2.按单个属性(轴)求和 3.按多个指定属性(轴)求和 四.sum函数总结 一.s ...

  6. NumPy基础用法总结

    公众号关注 "视学算法" 设为"星标",第一时间知晓最新干货~ 转自https://zhuanlan.zhihu.com/p/26478010 numpy可以说 ...

  7. numpy.transpose()用法

    np.transpose()用法 作用: 按照参数的循序转置矩阵 代码: import numpy as np four = np.arange(120).reshape(2,3,4,5) print ...

  8. python代码大全和用法用量_Python numpy.stack()用法及代码示例

    numpy.stack()函数用于沿新轴连接相同尺寸数组的序列.axis参数指定结果轴尺寸中新轴的索引.例如,如果axis = 0,它将是第一个尺寸:如果axis = -1,它将是最后的尺寸. 用法: ...

  9. 客户端码农学习ML —— Numpy基本用法

    本文从创建矩阵.维度变换.矩阵运算.随机数.索引等方面总结numpy中基本用法,脚本首先import numpy as np. 创建矩阵 np.array([1, 2, 3])输出 [1 2 3] n ...

最新文章

  1. view,control,service,dao,model层的关系
  2. SNMP监控一些常用OID的总结
  3. JavaScript从入门到放弃 -(七)ES6
  4. EF中报错:附加类型“xxxx”的实体失败,因为相同类型的其他实体已具有相同的主键值。
  5. check_http语法和选项
  6. android cocos2dx 3.15.1创建工程,Cocos2d-x创建android项目(cocos2d-x系列三)
  7. 23个Python爬虫开源项目代码
  8. 解决nginx端口占用问题
  9. 海思3519A上运行yolov3(二)——Linux和Windows开发环境和运行环境搭建
  10. nodejs脚本方式实现微信小程序代码自动上传生成体验版
  11. 单片机c语言试题和答案,(完整版)单片机试卷及答案
  12. Linux开发板调试 - NFS调试
  13. 实名认证失败_公安实名认证失败是什么原因
  14. linux统计单拷贝基因家族,为什么所有病毒基因都是单拷贝
  15. 安卓开发——MaterialDesign实战
  16. jsp mysql问卷调查_课内资源 - 基于JSP的在线调查问卷系统
  17. 解决东方财富数据接口激活后仍显示reactive的问题
  18. word的表格怎么转化成html,从WORD表格换成html.doc
  19. java项目组成与理解
  20. 矩阵旋转(左旋,右旋)

热门文章

  1. 安卓 调用QQ加群代码
  2. 【C++实验】类和对象(两个分数相加并且化简)
  3. 事务处理 :本地 、全局、分布式
  4. Word2010去除页眉上的横线
  5. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例55
  6. 媒体 | 冒志鸿:理想nine percent最难寻
  7. Java程序员必看经典书籍,助你早日打通任督二脉,Java菜鸟教程视频
  8. 如何在 Unity 中制作一个道具系统
  9. ukulele弹奏模拟器v1.0(待完善)
  10. (附源码)SSM网络故障报修系统 毕业设计 291146