我有 12 列填滿了工資。我想計算平均值,但我的輸出是每列 12 個不同的平均值,但我想要一個將整個資料集計算為一個的平均值。這是我的 df 的樣子:
Month 1 Month 2 Month 3 Month 4 ... Month 9 Month 10 Month 11 Month 12
0 1429.97 2816.61 2123.29 2123.29 ... 2816.61 2816.61 1429.97 1776.63
1 3499.53 3326.20 3499.53 2112.89 ... 1939.56 2806.21 2632.88 2459.55
2 2599.95 3119.94 3813.26 3466.60 ... 3466.60 3466.60 2946.61 2946.61
3 2599.95 2946.61 3466.60 2773.28 ... 2253.29 3119.94 1906.63 2773.28
我使用此代碼來計算平均值:
mean = df.mean()
我是否必須將這 12 列轉換為一列或如何計算一個平均值?
uj5u.com熱心網友回復:
只需再次呼叫平均值即可獲得這 12 個值的平均值:
df.mean().mean()
uj5u.com熱心網友回復:
使用numpy.mean與值轉化為二維陣列:
mean = np.mean(df.to_numpy())
print (mean)
2914.254166666667
或使用DataFrame.melt:
mean = df.melt()['value'].mean()
print (mean)
2914.254166666666
uj5u.com熱心網友回復:
您還可以使用stack:
df.stack().mean()
假設這個資料框:
>>> df
A B C D E F G H
0 60 1 59 25 8 27 34 43
1 81 48 32 30 60 3 90 22
2 66 15 21 5 23 36 83 46
3 56 42 14 86 41 64 89 56
4 28 53 89 89 52 13 12 39
5 64 7 2 16 91 46 74 35
6 81 81 27 67 26 80 19 35
7 56 8 17 39 63 6 34 26
8 56 25 26 39 37 14 41 27
9 41 56 68 38 57 23 36 8
>>> df.stack().mean()
41.6625
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/366311.html
上一篇:轉置細胞內容
