python - 对 numpy 数组中的不同列进行过滤和求和

标签 python arrays numpy

我有一个很大的 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/

相关文章:

python - 利用前一行的 Pandas 函数计算

Python/Keras/Theano - 索引越界

python - BlobProperty 中的最大大小(appengine)

remote-desktop - 用于在远程服务器中创建 zip 文件的 Python 脚本

python - 带有嵌套列表的 JSON 到 pandas 数据框

arrays - 如何获取mongodb对象数组中指定字段的值

php - 将对象数组存储到mysql数据库

javascript - forEach 模仿 .map() 函数

python - 根据其他数组以有效的方式减少 numpy 数组中的数据

Python copy.copy() 与 NumPy np.copy()