日付フィールドをテキストとして含むデータフレームがあります。
以下を使用して、日付フィールドを日時オブジェクトに変換します。
df['日付'] = pd.to_datetime(df['日付'])
やっている:
df['日付']
次のようなものを生成します。
0 2012-06-28 09:36:21
1 2013-05-21 14:52:57
2 2011-10-14 16:31:34
3 2011-11-11 12:51:13
4 2013-02-07 15:33:22
5 2013-01-02 14:40:08
6 2013-06-24 14:49:40
7 2013-07-15 15:29:26
8 2011-11-04 12:17:32
9 2013-04-29 17:31:43
10 2013-06-24 15:00:06
11 2012-10-22 18:23:53
12 NaT
13 NaT
14 2011-12-13 10:06:18
ここで、日時オブジェクトを日付オブジェクトに変換します。
df['date'].apply(try_convert_date)
(try_to_convert の定義方法については、以下を参照してください)。私は得る:
0 2012-06-28
1 2013-05-21
2 2011-10-14
3 2011-11-11
4 2013-02-07
5 2013-01-02
6 2013-06-24
7 2013-07-15
8 2011-11-04
9 2013-04-29
10 2013-06-24
11 2012-10-22
12 0001-255-255
13 0001-255-255
14 2011-12-13
「NaT」値は「0001-255-255」に変換されています。これを回避し、これらのセルに「NA」を保持するにはどうすればよいですか?
前もって感謝します
def try_convert_date(obj):
try:
return obj.date()
except: #AttributeError:
return 'NA'