在numpy数组中过滤和求和不同的列

时间:2014-10-09 22:55:53

标签: 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的新手,所以真的无法弄清楚我在这里做错了什么。任何想法或解释都将不胜感激。

1 个答案:

答案 0 :(得分:3)

不需要np.where电话。

data = np.random.normal(size=(20, 2))
np.sum(data[data[:,0] < 0, 1])

在此示例中,我想要data[:,0] < 0True的行,并且我想要列1。所以只需要与那些切片并取得总和。