2016-11-21 5 views
0

csvファイルからデータを読み込んだ後、 "Date"カラムにインデックスを設定し、そのインデックスをdatetimeに変換します。Python Pandasが間違った日時フォーマットを検出しました

df1=pd.read_csv('Data.csv') 
    df1=df1.set_index('Date') 
    df1.index=pd.to_datetime(df1.index) 

ただし変換後の日時フォーマットは、それが誤って解釈された例を示します。

元の日付は、例えばありました01-10-2014 00:00:00

が、パンダは2014-01-10 00:00:00

に変換

はどのようにして、元の日付形式を尊重するか認識するためのパンダを得ることができますか?

はまず、あなたが正しいformatを指定する必要が

+1

これは予想される動作で、表示形式はそのままですが、dtypeは 'datetime64'になります。' strftime'を使って文字列形式を得ることができますが、これは文字列を与えるでしょうhは 'datetime'ほど役に立ちませんIMO – EdChum

+0

ありがとうございます。問題は、2014年10月1日ではなく、2014年1月10日と日付を認識するということです。 – user7188934

+0

あなたの質問は日付を正確に解析することに関するもので、' df1.index = pd.to_datetime(df1.index、format = '%m-%d-%Y%H:%M:%S') ' – EdChum

答えて

2

あなたdatestringsは月と解釈されていたありがとう:

df1.index=pd.to_datetime(df1.index, format='%d-%m-%Y %H:%M:%S') 

それは月

として最初の部分を解釈しないように、
In [128]: 
pd.to_datetime('01-10-2014 00:00:00', format='%d-%m-%Y %H:%M:%S') 

Out[128]: 
Timestamp('2014-10-01 00:00:00') 
関連する問題