簡體   English   中英

如何簡化我的數字列表?

[英]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())

在其中我得到一個錯誤

AttributeError:“ float”對象沒有屬性“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM