2016-07-21 6 views
0

SASからインポートしたデータを含むPythonのデータフレーム「DFF」はタイプのpythonで、以下のように表示される日付フィールド持っている:私はDATETYPEにこの日付を変換しようとしています日付のPythonにデータフレームオブジェクトを変換

dff.effvdate.head() 
Out[47]: 
0 b'09JUL2013' 
1 b'17OCT2013' 
2 b'03MAR2014' 
3 b'08MAY2014' 
4 b'10MAR2015' 
Name: effvdate, dtype: object 

を以下のように:

dff['REPORT_MONTH'] =[dt.datetime.strptime(d,"%d%b%Y").date() for d in dff['effvdate']] 

が私のpythonに新しいですと、このエラー

TypeError: strptime() argument 1 must be str, not bytes 

を示し、必要これについて助けてください。

答えて

0

エラーTypeError: strptime() argument 1 must be str, not bytesには、知っておく必要がある情報が表示されます。 dはバイト単位で、文字列ではありません。 dを文字列にキャストする必要があります。

dff['REPORT_MONTH'] =[dt.datetime.strptime(d.decode('UTF-8'),"%d%b%Y").date() for d in dff['effvdate']] 

が有効です。

What does the 'b' character do in front of a string literal?

+0

ありがとうございます。できます。しかし、データフレームにこの日付を保存すると、それは「オブジェクト」として表示されます。なぜですか?実際に「対象」とは何ですか? – FarrukhJ

+0

https://docs.python.org/2/tutorial/classes.html – honi

+0

オブジェクトは属性を持つものです。これは基本的にはPythonのすべてです。 – honi

関連する問題