查找NumPy数组中等于0的元素的索引
有时我们需要找出数组中所有空元素的索引。Numpy提供了许多函数来计算所有空元素的索引。
方法1:使用 numpy.where()寻找空元素的指数。
该函数返回一个输入数组中满足给定条件的元素的索引。
语法 :
numpy.where(condition[, x, y])
When True, yield x, otherwise yield y
# importing Numpy package
import numpy as np
# creating a 1-D Numpy array
n_array = np.array([1, 0, 2, 0, 3, 0, 0, 5,
6, 7, 5, 0, 8])
print("Original array:")
print(n_array)
# finding indices of null elements using np.where()
print("\nIndices of elements equal to zero of the \
given 1-D array:")
res = np.where(n_array == 0)[0]
print(res)
输出:
方法2:使用numpy.argwhere()寻找空元素的指数。
这个函数用来寻找非零的数组元素的索引,按元素分组。
语法 :
numpy.argwhere(arr)
# importing Numpy package
import numpy as np
# creating a 3-D Numpy array
n_array = np.array([[0, 2, 3],
[4, 1, 0],
[0, 0, 2]])
print("Original array:")
print(n_array)
# finding indices of null elements
# using np.argwhere()
print("\nIndices of null elements:")
res = np.argwhere(n_array == 0)
print(res)
输出:
方法3:使用numpy.nonzero()寻找空元素的索引。
这个函数用于计算非零元素的索引。它返回一个数组的元组,Arr的每个维度都有一个,包含该维度中非零元素的索引。
语法:
numpy.nonzero(arr)
# importing Numpy package
import numpy as np
# creating a 1-D Numpy array
n_array = np.array([1, 10, 2, 0, 3, 9, 0,
5, 0, 7, 5, 0, 0])
print("Original array:")
print(n_array)
# finding indices of null elements using
# np.nonzero()
print("\nIndices of null elements:")
res = np.nonzero(n_array == 0)
print(res)
输出: