python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > NumPy数组按索引查询

NumPy对数组按索引查询实战方法总结

作者:Я люблю тебя Python

数组的高级操作主要是组合数组,拆分数组,tile数组和重组元素,下面这篇文章主要给大家介绍了关于NumPy对数组按索引查询的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

前期准备及前情回顾

#对于一维向量用np.arange生成以元组形式输出从0开始的数组([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

#对于二维向量(及多维向量),用np.arange生成以元组形式输出从0开始到20结束的数组,用np.reshape(4, 5)函数把一维向量转换为4行5列的二维向量

理解:numpy的二维向量对应着Python的嵌套, 只是numpy支持更高维度的列表, 这也是numpy比Python的优势之处

基础索引

一维数组

和Python的list一样

#1.因为Python语言中有第0位,因此实际中的第一位对应着Python语言中的第0位,numpy是Python中的一个科学计算库,因此也遵从此法则

#2.x[2 : 4]是左闭右开形式,因此实际应在4 - 1也就是第3位结束

#3.可以冒号前后省略,省略最后面就是到最后截止,此时包含最后一位, 不用 -1

我的理解:带冒号左右都有数字的左闭右开[a, b],结束在b-1的位置,带冒号左右数字省略的不用-1,不带冒号的该在第几位结束就在第几位结束

二维数组

注意: 切片的修改会修改原来的数组

原因:NumPy经常要处理大数据, 避免每次都复制

神奇索引

其实就是:用整数数组进行的索引, 叫神奇索引

Eg.

神奇索引的用处

-实例举例:获取数组中最大的前N个数字

一维数组

二维数组0                                                                                                                               

                                         

我的理解:

列可以省略, 行不可以省略,如若不改变行,  用:代替,列也可以用:代替,也可以省略如若想改变行和列,用[[行a, 行b, 行c, ...], [列a,列b  ,列c]]

布尔索引(常用)

一维数据

二维数组

我的理解:

用变量直接与数字判断输出布尔类型True 或 FalseX[]里判断, 输出满足条件的数组

布尔索引条件的组合

总结

到此这篇关于NumPy对数组按索引的文章就介绍到这了,更多相关NumPy数组按索引查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文