在多列条件下过滤numpy数组

时间:2018-09-23 07:28:35

标签: arrays numpy

我有一个如下的numpy数组。

value array:
[[ 5 58  7 22  8 50]
[ 7 22  9 22 10 12]
[ 1 44  4 12  8 50]
[ 1  4  4  2  8  2]
[ 7 17  8 17 10  7]
[ 7 17  9 17 10  7]
[ 8 17  9 17 10  7]
[ 8  1  9  1 10  1]
[ 8  2  9  7 10 37]]

我使用此代码获取值的偶数列并将其分组,如下所示:

k=3
index_feature = list(range(0, 2 * k, 2))
group_feature = npi.group_by(value_array[:,index_feature]).split(value_array[:, index_feature])

group_feature:  (array([[[1,4,8]]),array([[5,7,8]]),array([[7,8,10]]),array([[7,9,10] ]),array([[[8,9,10]]))

现在我要像这样过滤: 如果第0、2、4列等于1、4、8,其中[1、4、8]是group_feature中的元素,则得到的结果是:

[[4,2,2]]

就像,如果是array([[8,9,10]]))我会得到:

[[17, 17, 7]
[1, 1, 1]
[2, 7, 37]]

我该怎么做?

0 个答案:

没有答案