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

时间:2018-07-08 09:16:54

标签: python numpy

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

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

2 个答案:

答案 0 :(得分:3)

我们可以通过几个步骤进行操作。假设a是原始数组,然后:

  1. 首先,我们计算每一行的最大值;
  2. 然后我们检查该值是否小于或等于10;
  3. 最后,我们将其用于遮罩,因此仅选择值大于10的行。

赞:

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

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

答案 1 :(得分:0)

@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])]
>>>