两个数字之间的Python求和元素
我相信这很简单。我搜索了谷歌和这里,没有找到具体的答案两个数字之间的Python求和元素,python,arrays,numpy,sum,range,Python,Arrays,Numpy,Sum,Range,我相信这很简单。我搜索了谷歌和这里,没有找到具体的答案 a = rnd.randn(100) print np.sum(a) 给出一个数组中元素的和 np.sum(a[a>0.]) 给出大于0的元素之和 print np.sum((a < 2.0) & (a > -2.0)) 打印np.sum((a-2.0)) 这将返回2到-2之间的元素数 如何得到2和-2之间的元素之和???例如,我试过很多东西 np.sum(a[a >0.] & a[a<
a = rnd.randn(100)
print np.sum(a)
给出一个数组中元素的和
np.sum(a[a>0.])
给出大于0的元素之和
print np.sum((a < 2.0) & (a > -2.0))
打印np.sum((a<2.0)和(a>-2.0))
这将返回2到-2之间的元素数
如何得到2和-2之间的元素之和???例如,我试过很多东西
np.sum(a[a >0.] & a[a<1.])
np.sum(a[a>0.]&a[a&
是一个按位运算符,不会给出正确的结果,相反,您需要使用np.logical_和
来获得掩码数组。然后您可以将其作为索引传递给数组,以获得所需的项,然后将其传递给sum
:
In [9]: a = np.arange(-10, 10)
In [10]: a[np.logical_and(a>-2,a<2)]
Out[10]: array([-1, 0, 1])
In [11]: a[np.logical_and(a>-2,a<2)].sum()
Out[11]: 0
[9]中的:a=np.arange(-10,10)
在[10]:a[np.logical_和(a>-2,a-2,a中,你可以用一种非常基本的直接方式来做,比如:
function getSum(numArray, lowVal, highVal):
mySum = 0
for i in range(len(numArray)):
if(numArray[i] >= lowVal and numArray[i] <= highVal):
mySum = mySum + numArray[i]
return mySum
yourAnswer = getSum(a, -2, 2)
函数getSum(numaray、lowVal、highVal):
mySum=0
对于范围内的i(len(numArray)):
如果(numArray[i]>=lowVal和numArray[i]可爱,谢谢