Python 熊猫:为“无”值设置默认日期时间
我有一个Pandas数据框架,其中的列包含日期作为字符串(类似SQL的格式)。但是,许多单元格包含Python 熊猫:为“无”值设置默认日期时间,python,datetime,pandas,Python,Datetime,Pandas,我有一个Pandas数据框架,其中的列包含日期作为字符串(类似SQL的格式)。但是,许多单元格包含None值。我试图使用to_datetime将这些列转换为日期,并为包含None值的单元格设置一个“默认”值。示例代码如下: import pandas as pd >>> d = {'a': [1,2,3], 'd1': ['2016-01-01','2015-10-02',None], 'd2': [None,'2016-04-03',None
None
值。我试图使用to_datetime
将这些列转换为日期,并为包含None
值的单元格设置一个“默认”值。示例代码如下:
import pandas as pd
>>> d = {'a': [1,2,3],
'd1': ['2016-01-01','2015-10-02',None],
'd2': [None,'2016-04-03',None]}
>>> df = pd.DataFrame(d)
>>> print df
a d1 d2
0 1 2016-01-01 None
1 2 2015-10-02 2016-04-03
2 3 None None
>>> date_cols = ['d1','d2']
>>> df[date_cols] = df[date_cols].apply(pd.to_datetime)
>>> print df
a d1 d2
0 1 2016-01-01 NaT
1 2 2015-10-02 2016-04-03
2 3 NaT NaT
将有效字符串转换为日期非常简单,我只想将NaT
替换为default\u date
。这就是我希望最终数据帧的外观:
>>> default_date = '2015-01-01'
>>> print df
a d1 d2
0 1 2016-01-01 2015-01-01
1 2 2015-10-02 2016-04-03
2 3 2015-01-01 2015-01-01
使用
fillna
df[date_cols] = df[date_cols].fillna(pd.to_datetime('2015-01-01'))
df
最后调用
fillna
不起作用?