Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:为“无”值设置默认日期时间_Python_Datetime_Pandas - Fatal编程技术网

Python 熊猫:为“无”值设置默认日期时间

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

我有一个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]}
>>> 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
不起作用?