Numpy数组,查找带有1的列

Cha*_*thi 1 python numpy

我期待在一个numpy数组中找到至少一个单元格为1的列.

Input Array
[0,0,1,0,0,0,1,0,0,1]
[0,1,0,0,0,0,0,0,1,0]
[0,0,0,0,0,0,0,1,0,0]
[0,0,0,1,0,0,1,0,0,0]
Expected Output
[0,1,1,1,0,0,1,1,1,1]
Run Code Online (Sandbox Code Playgroud)

nne*_*neo 5

使用numpy.anyaxis=0(沿第一轴线变平,即沿着行平坦化):

>>> np.any(a, axis=0)
array([False,  True,  True,  True, False, False,  True,  True,  True,  True], dtype=bool)
Run Code Online (Sandbox Code Playgroud)

当然,您可以轻松地将布尔数组转换为整数:

>>> np.any(a, axis=0)*1
array([0, 1, 1, 1, 0, 0, 1, 1, 1, 1])
Run Code Online (Sandbox Code Playgroud)