numpy np.where 使用方法
np.where是NumPy库中的一个函数,用于返回满足指定条件的元素的索引。其用法如下:
参数:
condition:当只有条件时,返回满足条件元素的索引。
返回值:
返回一个元组,其中包含满足条件的元素的索引。在一维数组中,它返回一个索引数组;在多维数组中,它返回一个包含每个维度的索引的元组。
用法示例
一维数组示例:
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
indices = np.where(arr > 30)
print(indices)
# 输出:(array([3, 4]),)
二维数组实例
import numpy as np
arr = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]])
indices = np.where(arr > 50)
print(indices)
## 输出结果:(array([1, 2, 2, 2]), array([2, 0, 1, 2]))
结合其他条件使用
条件可以是复杂的,并可以结合多个条件使用逻辑操作符(如&(逻辑与)和|(逻辑或))来进行组合。
例如,在一个字典的numpy数组中找到满足多个条件的元素索引:
np_map = {'status': np.array([True, False, True, False]), 'nums': np.array([-100, 1, 2, 3])}
valid_index = np.where((np_map['status'] == True) & (np_map['nums'] > 0))[0]
# 输出结果[2]
水平有限,有问题随时联系~