2016-11-18 9 views
0

DataFrameの各列項目の平均値を取得しようとしています。しかし、df.groupby(level=0).mean()を使用すると、間違った(高い)値が常に得られます。平均値が正しくない

私のデータフレームは、すべての時間で注文した3つの別々のファイルを連結し、それはこのようになりますされています

>>> 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 

:私は平均通話を行う際に

>>> 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 

はしかし、私は間違った値を取得しますどちらが間違っていますか?

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

任意のアイデアなぜこれが起こっている:

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 

がために平均化する必要があります私は次のように間違っていないですか?それはおそらくどこかで私の間違いです。

編集:明確にするために、私はそれぞれの日付の入力によって平均で終わりたいと思う。私は列平均を必要としません。

+3

dfの最後の9行だけを表示しました.dfに9行しかない場合を除いて、平均が間​​違っているかどうかを判断できません。実際のrawへのリンクを投稿する必要があります他の人がこれを再現しようとするためにそのデータを読み取るためのデータとコード、さらにインデックスをソートしてそれらのエントリの観測数が多いかどうか調べることができます – EdChum

+0

私は理解します。しかし、私はそれぞれの日付で平均したい。データの量を無関係にしてはいけませんか?私は列平均を必要としません、私は各日付エントリの平均が必要です。 –

+0

データの末尾を表示するだけでは不明な点は、行の日付/時刻の順番が上がっているかどうかです。 '2016-11-18 19:58:00'のエントリ数を確認するだけでいいですか? – doctorlove

答えて

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

enter image description here

tailショーよりdfでより多くのデータがある場合

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

とは異なります。