![](/img/trans.png)
[英]How to simplify in a single line FOR loop the multiplication of the numbers of a list?
[英]How to simplify my list of numbers?
我在這里是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)
編輯:
在更新了我了解到的代碼之后,我就可以簡單地將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())
在其中我得到一個錯誤
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
是一個長度與arr
相同的numpy
數組(或者實際上是任何可迭代的),它將仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.