2017-04-21 9 views
0

DateTimeIndexを使用してDataframeをスライスしようとしていますが、問題が1つあります。 新しいDataFrame Change Monthでは、彼は曜日と月を切り替えます。python pandas String to TimeStrampsはあいまいに変換します

ここに私のデータフレームです:

     Valeur 
    date      
2015-01-08 00:00:00  93 
2015-01-08 00:10:00  90 
2015-01-08 00:20:00  88 
2015-01-08 00:30:00  103 
2015-01-08 00:40:00  86 
2015-01-08 00:50:00  88 
2015-01-08 01:00:00  86 
2015-01-08 01:10:00  84 
2015-01-08 01:20:00  95 
2015-01-08 01:30:00  88 
2015-01-08 01:40:00  85 
2015-01-08 01:50:00  92 
...      ... 
2016-10-30 22:20:00  98 
2016-10-30 22:30:00  94 
2016-10-30 22:40:00  94 
2016-10-30 22:50:00  103 
2016-10-30 23:00:00  92 
2016-10-30 23:10:00  85 
2016-10-30 23:20:00  98 
2016-10-30 23:30:00  96 
2016-10-30 23:40:00  95 
2016-10-30 23:50:00  101 

[65814 rows x 1 columns] 

ここに私の2つのタイムスタンプ:

startingDate : 2015-10-31 23:50:00 
lastDate : 2016-10-30 23:50:00 

私はこのように私のDFをスライスする場合:

dfconso = dfconso[startingDate:lastDate] 

私はこのような何かを得ました

      Valeur 
date      
2015-10-31 23:50:00  88 
2015-01-11 00:00:00  83 
2015-01-11 00:10:00  82 
2015-01-11 00:20:00  87 
2015-01-11 00:30:00  77 
2015-01-11 00:40:00  72 
2015-01-11 00:50:00  86 
2015-01-11 01:00:00  77 
2015-01-11 01:10:00  80 
...      ... 
2016-10-30 23:10:00  85 
2016-10-30 23:20:00  98 
2016-10-30 23:30:00  96 
2016-10-30 23:40:00  95 
2016-10-30 23:50:00  101 

問題は良い日にスライスが開始されますが、DateTimeIndexが月を変更するときに間違ったものが追加されます。 パス1月2015年11 2015年10月31から

と私は理由を理解していない...

私が見て月と日印刷しようと、私はその得た:で

を:

print("Index 0 : month", dfconso.index[0].month, ", day", dfconso.index[0].day) 
print("Index 1 : month", dfconso.index[1].month, ", day", dfconso.index[1].day) 

アウト:誰かがアイデアを持っている場合

Index 0 : month 10 , day 31 
Index 1 : month 1 , day 11 

EDIT:

df.sort_index後()私のDF、私は時々動作し、月と日を切り替えていなかった、タイムスタンプの日付に文字列の日付の変換を確認することができます。文字列で

フォーマット:タイムスタンプを文字列から変換する

"31/08/2015 20:00:00" 

マイコード:

dfconso.index = pd.to_datetime(dfconso.index, infer_datetime_format=True, format="%d/%m/%Y") 

答えて

1

SOLUTION:

pd.to_datetimeの悪い使用した、私はDayfirstにinfer_date_time_formatを変更します。私の問題を解決する

dfconso.index = pd.to_datetime(dfconso.index, dayfirst=True) 

0

エラーは日と月の重複が整理が、ちょうど順序の問題ではないかもしれません。データをスライスする前にデータの並べ替えを試みてください(データの提供された部分は上手く見えますが、残りの部分については誰が知っていますか)。ここで

はどのように並べ替えた作品です:Sort a pandas datetime index

+0

ソート後、私の月の日付と曜日の日付が逆転することがあります。私は私のconvertメソッドを見ようとします。 –

関連する問題