2015-06-22 88 views
1

我不能申请布尔值到给定的数据:布尔索引ND numpy的阵列

import numpy as np 

bool_values = np.array([False, False, True, False, True]) 
data = np.array([[11.0, 22.0, 0.0, 44.0, 55.0], 
       [10.0, 20.0, 30.0, 40.0, 50.0]]) 

expected_answer = [[0,55], [30,50]] 

我想它是:

expected_answer = data[bool_values] 
+0

您的意思是'[0.0,55]'对吗? –

+0

啊哈,是的,现在纠正了 – jean

回答

1

我想你想做到这一点:

In [28]: 
bool_values = np.array([False, False, True, False, True]) 
data = np.array([[11.0, 22.0, 0.0, 44.0, 55.0], 
[10.0, 20.0, 30.0, 40.0, 50.0]]) 
data[:,bool_values] 

Out[28]: 
array([[ 0., 55.], 
     [ 30., 50.]]) 

以上适用于每一行的面罩