假设我有一个np.array
,如:
array([[1., 1., 0., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 0.],
[1., 1., 1., 1., 0.]])
我想知道是否有一种Python方法可以找到所有至少包含一个0的列。在本例中,我想检索索引2和4。
我需要删除这些列,但我还需要知道我删除了多少列(索引不是绝对必要的),所以最后我只需要结果
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
1条答案
按热度按时间uxh89sit1#
如果你只想删除列,你可以使用
np.all
(或它的ndarray
)变量来找到你想要保留的列。使用生成的布尔掩码来索引第二个轴:如果你想找到那些至少有一个零的列的索引,你可以将
np.any
与np.nonzero
结合使用(或者如果你喜欢,可以使用np.flatnonzero
):如果你想计算它们,你可以直接对布尔掩码求和: