python - 查找二维数组中具有某些非零元素的列的索引

标签 python numpy

我有一个带有暗淡(157,1944)的 numpy 数组。

我想获取任何行中具有非零元素的列的索引。

示例:[[0,0,3,4], [0,0,1,1]] ----> [2,3]

如果查看每一行,第 [2, 3] 列中有一个非零元素

所以如果我有

[[0,1,3,4], [0,0,1,1]]

我应该得到[1,2,3],因为列索引 0 在任何行中都没有非零元素。

最佳答案

不确定您的问题是否已完全定义。但是,假设我们从

开始
import numpy as np
a = np.array([[0,0,3,4], [0,0,1,1]])

然后

>>> np.nonzero(np.all(a != 0, axis=0))[0]
array([2, 3])

没有行非零的列索引,

>>> np.nonzero(np.any(a != 0, axis=0))[0]
array([2, 3])

并非所有行都为零的列索引(恰好与您给出的示例相同)。

关于python - 查找二维数组中具有某些非零元素的列的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233918/

相关文章:

python - ndarray.any()错误: ValueError: 'axis' entry is out of bounds

python - 使用嵌套 for 循环附加到多个列表

python - 在一行中打印 f 个列表项

python - 如何将 PyTorch 张量列表转换为 float 列表?

python - 将字符串列表转换为模板化字符串列表

python - 如何根据两列或多列条件将数据框分配给变量

python - 安装 OpenBLAS 和 Numpy 后没有 _dotblas.so

python 通过字符串值获取枚举不起作用

python - Microsoft Azure IoT Python SDK 可以成功配置但无法使用相同的凭据进行连接

python - 具有灰色世界假设的自动白平衡