2017-06-22 29 views
0

私は通常、いくつかのcsvファイルからデータを呼び出し、pandas.to_datetime関数を使用してデータの処理のために日付列をdatetime形式に変更します。python pandas to_datetimeが正常に動作していない

ただし、to_datetime関数がうまく機能しないことがあります。 それは着実に動作していないと私は通常、データ形式を調整するために多くの時間を使用します..

私は多くの方法を試みたが、それらはすべて着実に動作しません。 誰かがこの問題を解決するために親切にお手伝いしますか?

df1 = pd.read_csv("somefile.csv", encoding='utf-8', parse_dates=[0]) 
# the result turns out that the parse_dates does not work at all here 

df1["Date"]= df1["Date"].apply(pd.to_datetime) 
# after this change, the type(df1["Date"][0]) becomes pandas._libs.tslib.Timestamp 

df1["Date"] = df1["Date"].dt.date.apply(lambda x: datetime.date(x.year,x.month,x.day)) 
# this code worked yesterday but not today anymore... 
# TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 'int' 

ここでエラーコードは、私が日時型にDF [「日付」]の種類を変更したい 「記述子 『日付が』 『のdatetime.datetime』オブジェクトが必要ですが、 『INT』を受けた」と言いますタイムスタンプの代わりに。

私のパンダのデータフレームは、このようになります(日付のみの列が表示されます) 生データはここで提供されています、しばらくの間、この問題を除いて 人々が不満を手に入れたhttps://www.dropbox.com/s/rrhy9my9yp1gy2y/test.csv?dl=0

Date 
2015-01-07 
2015-01-08 
2015-01-09 
2015-01-10 
2015-01-11 

私のPythonのバージョンは2.7 です私のeveryones to_datetime関数はうまくいきますか?

+0

あなたは生のデータを投稿することができれば、それは役立つだろう、なぜそれが動作しないと思うかを示す – EdChum

+0

エラーメッセージeError:記述子 'date'は 'datetime.datetime'オブジェクトを必要としますが、 'int'を受け取りました。私はタイムスタンプにデータを変換することしかできませんでしたが、datetimeではない –

+0

もう一度、あなたの問題を再現する生データとコードを提供するようお願いします。 'read_csv'の' parse_dates'引数は 'datetime'、' pd.to_datetime'かなり堅牢です。データ、コード、希望する出力とエラーを使用して質問を編集してください – EdChum

答えて

1

あなたは、applyを削除するだけSeries.dt.dateを必要とする必要があります。

df1 = pd.read_csv('test.csv', parse_dates=[0]) 

df1["Date"] = df1["Date"].dt.date.apply(lambda x: datetime.date(x.year,x.month,x.day)) 

へ:

df1["Date"] = df1["Date"].dt.date 

print (type(df1.loc[0, 'Date'])) 
<class 'datetime.date'> 

しかし、必要なタプルの場合:

df1["Date"] = df1["Date"].dt.date.apply(lambda x: (x.year,x.month,x.day)) 
print (df1.head()) 
      Date trend 
0 (2015, 1, 7)  37 
1 (2015, 1, 8)  37 
2 (2015, 1, 9)  37 
3 (2015, 1, 10)  37 
4 (2015, 1, 11)  38 
関連する問題