[英]Is there a way of taking the average of multiple lists of equal size?
這是在 python 中。
假設我有三個列表:
x = [[1, 2], [2 , 4], [1, 1]]
y = [[3, 4], [6 , 8], [1, 1]]
z = [[5, 6], [10, 12], [1, 1]]
我想獲取列表
avg = [[.. , ..], [.., ..], [.., ..]]
和
standard_deviation = [[.. , ..], [.., ..], [.., ..]]
例如avg[0,0] = (1 + 3 + 5)/3
與其他值相同。
提前致謝。 這將為我節省大量時間。
對於 numpy 二維陣列
a = np.array([[1, 2, 2 , 4, 1, 1],
[3, 4, 6 , 8, 1, 1],
[5, 6, 10, 12, 1, 1]])
你可以簡單地做np.mean(a,axis=0)
和np.std(a,axis=0)
。
您可以通過執行以下操作輕松a
:
x, y, z = np.array(x), np.array(y), np.array(z)
x, y, z = np.ndarray.flatten(x), np.ndarray.flatten(y), np.ndarray.flatten(z)
a = np.vstack((x,y,z))
import numpy as np
x = [[1, 2], [2 , 4], [1, 1]]
y = [[3, 4], [6 , 8], [1, 1]]
z = [[5, 6], [10, 12], [1, 1]]
arr = np.dstack([x, y, z])
# mean
arr_mean = arr.mean(axis=-1)
# standard deviation
arr_std = arr.std(axis=-1)
print(f"Mean:\n {arr_mean}\n")
print(f"Std:\n {arr_std}")
它給:
Mean:
[[3. 4.]
[6. 8.]
[1. 1.]]
Std:
[[1.63299316 1.63299316]
[3.26598632 3.26598632]
[0. 0. ]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.