我有一个很大的 numpy 数组 data
我希望按一列进行过滤 [:,8] <= radius
并获取不同列 [:,7]
的总和
到目前为止,我有以下返回“无效切片”错误的信息。
>>> data.slice
(4700, 9)
>>> np.sum(data[np.where(data[:,8] <= 50):,7])
IndexError: invalid slice
我对 python 还很陌生,所以似乎真的无法弄清楚我在这里做错了什么。任何想法或解释将不胜感激。
最佳答案
不需要 np.where
称呼。
data = np.random.normal(size=(20, 2))
np.sum(data[data[:,0] < 0, 1])
在此示例中,我想要 data[:,0] < 0
所在的行是 True
,我想要列 1
。所以只需将它们切片并求和即可。
关于python - 对 numpy 数组中的不同列进行过滤和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26289292/