我这里有一个x值列表及其相应的累积密度值和特定的lambda。我需要做的是找到exc_cdf1
值的平均值......
如何将这些exp_cdf
值放入数组中,以便我可以使用array.mean()
的函数?
我的编码方式是为了显示exp_cdf1
解决此类问题的好方法吗? (我需要打印这些值,所以我可以在一定程度上进行健全性检查。)如果我们继续我现在正在做的方式,我有循环显示它的所有值,我怎么能找到意思是?
最后,我想找到这些exp_cdf1
值的平均值,但是要以高效和直观的方式,我希望我能清楚自己。
这是我到目前为止的代码:
import numpy as np
arr = np.arange(50)/50
for i in range(0,50):
lambda1 = 0.5
exp_cdf1 = 1 - lambda1 * math.exp(-1 * lambda1 * arr[i])
print(' lambda1 = ' , lambda1, ' ' , i , " = " , arr[i], 'exp_cdf1 = ' , exp_cdf1)
this is what displays when the code is ran:
编辑:
在更新了我知道我只能简单地exp_cdf1.mean()
的代码之后然后我有了这段代码:
import numpy as np
arr = np.arange(50)/50
for i in range(0,50):
lambda1 = 0.5
exp_cdf1 = 1 - lambda1 * math.exp(-1 * lambda1 * arr[i])
print('lambda1 = ' , lambda1, i , " = " , arr[i], 'exp_cdf1 = ' , exp_cdf1, ' mean = ' , exp_cdf1.mean())
我收到错误
答案 0 :(得分:1)
numpy
允许您对整个数组进行操作。它还重新定义了math
模块中允许的功能(包括exp
)。所以你可以写:
import numpy as np
arr = np.arange(50) / 50
lambda1 = 0.5
exp_cdf1 = 1 - lambda1 * np.exp(-lambda1 * arr)
print(exp_cdf1.mean())
# 0.604560034105
请注意,lambda
的值也永远不会改变。如果确实如此,如果lambda1
是与numpy
长度相同的arr
数组(或实际上任何可迭代数组),它仍然有用。