如何删除包含值大于10的数组行


np.array([[ 0,  1,  2,  0,  4,  5,  6,  7,  8,  9],
[ 0, 11,  0, 13,  0, 15,  0, 17, 18,  0]])

如何删除哪行上方的数组行包含大于10的值?

我们可以通过几个步骤做到这一点。假设a是原始数组,那么:

  1. 首先,我们计算每行的最大值;
  2. 然后我们检查该值是否小于或等于 10;
  3. 最后,我们使用它进行屏蔽,因此只选择值不大于 10 的行。

喜欢:

a[a.max(axis=1) <= 10]

因此,这将返回原始数组的副本,该数组仅包含不包含大于 10 的值的行。

@Quanter,试试这个。

>>> import numpy as np
>>>
>>> arr = np.array([[ 0,  1,  2,  0,  4,  5,  6,  7,  8,  9],
...               [ 0, 11,  0, 13,  0, 15,  0, 17, 18,  0]])
>>>
>>> a = [a for a in arr if not np.max(a) > 10]
>>>
>>> a
[array([0, 1, 2, 0, 4, 5, 6, 7, 8, 9])]
>>>

最新更新