2017-02-27 14 views
0

我有大量的列表,我想計算平均值而不存儲它們。有沒有任何python實現來做到這一點?Python:計算一個大數組的平均數而不保存它們

感謝

+1

肯定。但是你必須向我們展示一些你的代碼。 –

+0

你能提供更多關於你的情況的細節嗎?沒有存儲所有的平均值或所有的列表?這些列表是否已經在內存中? –

+0

嘗試使用statistics.mean()和迭代器作爲參數。迭代器不存儲數據,數據按需調用。 – rolika

回答

1

如果你想整個平均陣列(必須是兼容的形狀):

running_sum = None 
count = 0 
for a in yourarraysource: 
    if running_sum is None: 
     running_sum = a 
    else: 
     running_sum = running_sum + a 
    count += 1 
average = running_sum/count 

如果您要平均的所有元素:

running_sum = 0 
count = 0 
for a in yourarraysource: 
    running_sum += a.sum() 
    count += a.size 
average = running_sum/count