我有一个大的numpy数组data
,我希望按一列[:,8] <= radius
过滤并得到不同列的总和[:,7]
到目前为止,我有以下内容返回“无效切片”错误。
>>> data.slice
(4700, 9)
>>> np.sum(data[np.where(data[:,8] <= 50):,7])
IndexError: invalid slice
我是python的新手,所以真的无法弄清楚我在这里做错了什么。任何想法或解释都将不胜感激。
答案 0 :(得分:3)
不需要np.where
电话。
data = np.random.normal(size=(20, 2))
np.sum(data[data[:,0] < 0, 1])
在此示例中,我想要data[:,0] < 0
为True
的行,并且我想要列1
。所以只需要与那些切片并取得总和。