【发布时间】:2017-12-26 23:14:01
【问题描述】:
如何将数据框中的NaT 替换为之前创建(设置)的日期/变量?
我得到以下数据框:
Date Name CF
0 NaT Peter -10
0 2017-12-14 Peter -20
1 NaT Tomas -5.5
1 2017-12-15 Peter -25
2 NaT Tomas -3
2 2017-12-14 Tomas -5
3 NaT Walker -4.6
3 2017-12-15 Tomas 88
4 2017-12-15 Tomas -30
5 2017-12-15 Walker 15
我想用我的项目开始时设置的变量替换 NaT:anEnd 变量,如下所示:
format_date = "%d-%m-%Y"
end = datetime.date(2017, 12, 15)
我尝试了两种方法:首先,我使用了 Pandas 的np.where,但它无法识别NaT。其次,我试过这个
test = table_final2.Date.astype(object).where(table_final2.Date.notnull(), end)
但这会导致Date 列的格式混合在一起
Date Name CF
0 2017-12-15 Peter -10
0 2017-12-14 00:00:00 Peter -20
1 2017-12-15 Tomas -5.5
1 2017-12-15 00:00:00 Peter -25
2 2017-12-15 Tomas -3
2 2017-12-14 00:00:00 Tomas -5
3 2017-12-15 Walker -4.6
3 2017-12-15 00:00:00 Tomas 88
4 2017-12-15 00:00:00 Tomas -30
5 2017-12-15 00:00:00 Walker 15
那么,我怎样才能准确地替换 NaT? 提前致谢!
PD:当 test.dtypes 将 Date 显示为对象时。
【问题讨论】:
标签: pandas dataframe replace notnull