numpy数组查找表

时间:2019-01-05 11:23:42

标签: python python-3.x numpy sorting numpy-ndarray

嘿,我喜欢用下面的方式对数组进行排序: 通过col_index和唯一值。 例如:

import numpy as np
a = np.array([[21,30,105,1],[1,21,5,1],[5,15,20,1],[7,3,31,2]])
  #print:
  #[[ 21  30 105   1]
  #[  1   21 5    1]
  #[  5  15  20   1]
  #[  7   3  31   2]]

我希望使用第4位具有“ 1”(唯一值)的所有行创建新数组(例如a [0] [3],a [1] [3]和a [2] [3] ),并且第二列的值大于20(例如a [0] [1]和a [1] [1])

例如,我希望得到:

new_a = np.array([[21,30,105,1],[1,21,5,1]])

1 个答案:

答案 0 :(得分:1)

使用Boolean array indexing

res = a[(a[:, 3] == 1) & (a[:, 1] > 20)]

# array([[ 21,  30, 105,   1],
#        [  1,  21,   5,   1]])