我有一个问题,我有一个由浮点数组成的ndarray X,假设是100x10的大小。我想对第一列进行某些条件的筛选,并创建一个形状为100x1的布尔类型的ndarray B。然后我想使用B作为索引进入X中提取True所在的值。但是,对于B中的每个True值,我想要提取整行的数据。我认为这应该自动工作,因为B应该被扩展成100x10的大小,但是它似乎并不是这样。以下是使用2x2和2x1 ndarray的示例。
我希望它打印出
a = np.array([True, False])
a.shape = (2,1)
b = np.array([1, 2, 3, 4])
b.shape = (2,2)
print(a)
print(b)
print(b[a])
这会打印输出
[[True]
[False]]
[[ 1 2 ]
[ 3 4 ]]
[1]
我希望它打印出
[1 2]
。为什么广播不能按我期望的方式工作?