2016-11-18 87 views
0

我想獲得DataFrame中每個列項的均值。但是,當我使用df.groupby(level=0).mean()時,我始終得到錯誤(更高)的值。錯誤的平均值

我的數據幀由3個獨立的文件級聯都按時間排序,它看起來像這樣:

>>> df.tail() 
2016-11-18 19:58:00 12.97 12.96 
2016-11-18 19:58:00 12.98 12.96 
2016-11-18 19:58:00 12.97 12.96 
2016-11-18 19:59:00 12.97 12.96 
2016-11-18 19:59:00 12.97 12.96 
2016-11-18 19:59:00 12.97 12.96 
2016-11-18 20:00:00 12.97 12.96 
2016-11-18 20:00:00 12.97 12.96 
2016-11-18 20:00:00 12.97 12.96 

然而,當我做了平均呼叫時,我得到錯誤的值:

>>> df.groupby(level=0).mean()  
2016-11-18 19:58:00 13.125000 13.022500 
2016-11-18 19:59:00 13.103636 13.030000 
2016-11-18 20:00:00 13.078333 13.002500 

這是不正確的。如果我沒有記錯的情況如下:

2016-11-18 19:58:00 12.97 12.96 
2016-11-18 19:58:00 12.98 12.96 
2016-11-18 19:58:00 12.97 12.96 

應該平均了出來:

2016-11-18 19:58:00 12.973 12.96 

任何想法,爲什麼發生這種情況?這可能是我的錯誤。

編輯:爲了說清楚,我想結束每個日期條目的意思。我不需要每列平均值。

+3

您向我們展示了您的df的最後9行,我們無法確定該平均值是否不正確,除非您的df中只有9行,您需要發佈一個指向您的實際原始數據和代碼讀取這些數據以便其他人嘗試重現這一點,您也可以嘗試對索引進行排序,看看您是否對這些條目有更多的觀察結果 – EdChum

+0

據我所知。不過,我希望每個日期都有意思。這不應該使數據量無關嗎?我不需要每列平均值,我需要每個日期條目的平均值。 –

+0

僅僅顯示數據尾部的內容不清楚是行數是否增加日期/時間的順序。你能計算一下'2016-11-18 19:58:00'有多少條目可以檢查嗎? – doctorlove

回答

0
df.tail().groupby(level=0).mean() 

enter image description here

df.groupby(level=0).mean() 

不同,如果在dftail顯示更多的數據。