import numpy

目录

NumPy怎么对数组按索引查询

一,基础索引

二,神奇索引

三,布尔索引

四,布尔索引条件的组合

前期准备及前情回顾

np 获取对应值的索引 numpy怎么根据值找索引_python

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

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

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

  • 基础索引

一维数组

Pythonlist一样

np 获取对应值的索引 numpy怎么根据值找索引_学习_02

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

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

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

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

二维数组

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_03

np 获取对应值的索引 numpy怎么根据值找索引_python_04

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

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

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_05

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_06

  • 神奇索引

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

Eg.

np 获取对应值的索引 numpy怎么根据值找索引_Python_07

 

神奇索引的用处

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

一维数组

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_08

np 获取对应值的索引 numpy怎么根据值找索引_python_09

二维数组0                                                                                                                               

np 获取对应值的索引 numpy怎么根据值找索引_python_10

np 获取对应值的索引 numpy怎么根据值找索引_Python_11


我的理解:

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

, 布尔索引(常用)

一维数据

np 获取对应值的索引 numpy怎么根据值找索引_学习_12

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_13

np 获取对应值的索引 numpy怎么根据值找索引_数组_14

二维数组

np 获取对应值的索引 numpy怎么根据值找索引_Python_15

np 获取对应值的索引 numpy怎么根据值找索引_np 获取对应值的索引_16

np 获取对应值的索引 numpy怎么根据值找索引_Python_17

我的理解:

  1. 用变量直接与数字判断输出布尔类型True False
  2. X[]里判断, 输出满足条件的数组

布尔索引条件的组合


np 获取对应值的索引 numpy怎么根据值找索引_学习_18