我需要計算每個列表中第一個元素的含義,每個列表中的第二個元素等,並獲得這些方法的列表。所以我需要得到一個列表d = [5/3,10/3,...等從以下如何計算不同列表中的值的均值
$
a = [1,2,2,2,3,4,3]
b = [2,3,1,9,5,4,6]
c = [2,5,6,7,8,2,4]
可以以某種方式與NumPy做到這一點?
我需要計算每個列表中第一個元素的含義,每個列表中的第二個元素等,並獲得這些方法的列表。所以我需要得到一個列表d = [5/3,10/3,...等從以下如何計算不同列表中的值的均值
$
a = [1,2,2,2,3,4,3]
b = [2,3,1,9,5,4,6]
c = [2,5,6,7,8,2,4]
可以以某種方式與NumPy做到這一點?
因爲這個問題有一個numpy的標籤,我想我會添加一個numpy的答案太:由平均
numpy.mean([a, b, c], axis=0)
只是zip
他們在一起。
>>> list(zip((1, 2, 3), (1,2,3), (1,2,3)))
[(1, 1, 1), (2, 2, 2), (3, 3, 3)]
從那裏,你可以迭代結果,並採取手段,因爲你需要它們。
爲什麼不能在理解的同時計算出平均值,或者通過在列表上平均函數來計算平均值? – 2012-04-02 00:36:31
@KarlKnechtel,我沒有試圖提供一個完整的解決方案,只是讓他們解決他們的問題。我不知道是否需要隨機訪問(列表理解),或者如果一次性順序訪問(某種類型的生成器)就足夠了,所以我不能說更多。 – aaronasterling 2012-04-02 01:03:13
你可以不用NumPy的:
>>> map(lambda x: sum(x)/3., zip(a,b,c))
[1.6666666666666667, 3.3333333333333335, 3.0, 6.0, 5.333333333333333, 3.3333333333333335, 4.333333333333333]
或者,map(lambda x,y,z:(x + y + z)/ 3,a,b,c)'。 – 2012-04-02 00:39:01
你是什麼意思每個列表中的第一個元素,你是指每個列表的意思?你可以試着重新回答你的問題嗎? – George 2012-04-01 23:11:12