如果我有一个数组并进行求和
循环计算这个很容易实现,但是有没有一种方法可以仅仅计算这么多并产生[0.,2.,9. ],而不必使用循环?同样地,如果我知道如何将列索引高于b的元素设置为np.nan,则可以使用nansum,但在切片方面,这与等价问题相当。
arr = np.array([[1.,1.,2.],[2.,3.,4.],[4.,5.,6]])
np.sum(arr,axis=1)
我得到了三行之间的总和([4.,9.,15.])。
我的复杂之处在于,arr包含的数据在某个列索引之后可能不好。我有一个整数数组,告诉我每行有多少个“好”的值,并且我想对这些好的值进行求和/平均。例如:
ngoodcols=np.array([0,1,2])
np.sum(arr[:,0:ngoodcols],axis=1) # not legit but this is the idea
循环计算这个很容易实现,但是有没有一种方法可以仅仅计算这么多并产生[0.,2.,9. ],而不必使用循环?同样地,如果我知道如何将列索引高于b的元素设置为np.nan,则可以使用nansum,但在切片方面,这与等价问题相当。