我有一个numpy数组(X
)
1 2 3 4
3 4 5 6
5 6 7 8
和Booelan索引数组(ind
)
0 1 1 0
我想根据索引对numpy数组进行切片。 即 硅化后的结果数组应仅包含第2列和第3列(对应的索引为1):
2 3
4 5
6 7
我尝试了X[:,ind]
,但是没有用。
答案 0 :(得分:3)
您需要将ind
转换为boolean array
。一种简单的方法是使用numpy.array()
:
numpy.array(ind, dtype=bool)
然后您可以使用X[:,ind]
答案 1 :(得分:2)
您需要将ind
转换为dtype:bool
。
这可以通过使用ind == 1
进行屏蔽来实现。
也就是说,
>>> X[:,ind == 1]
array([[2, 3],
[4, 5],
[6, 7]])