热线电话:13121318867

登录
2019-02-18 阅读量: 1745
如何分别填充NaT和NaN值

我的数据帧包含NaT和NaN值

Date/Time_entry Entry Date/Time_exit Exit

0 2015-11-11 10:52:00 19.9900 2015-11-11 11:30:00 20.350

1 2015-11-11 11:36:00 20.4300 2015-11-11 11:38:00 20.565

2 2015-11-11 11:44:00 21.0000 NaT NaN

3 2009-04-20 10:28:00 13.7788 2009-04-20 10:46:00 13.700

我想用日期填充NaT,用数字填充NaN。Fillna(4)方法用NaT和NaN取代4.是否有可能以某种方式区分NaT和NaN?

我目前的解决方法是df [column] .fillna()

解决办法:由于NaT属于datetime列,因此您可以在应用填充操作时将其排除。

u = df.select_dtypes(exclude=['datetime'])

df[u.columns] = u.fillna(4)

df

Date/Time_entry Entry Date/Time_exit Exit

0 2015-11-11 10:52:00 19.9900 2015-11-11 11:30:00 20.350

1 2015-11-11 11:36:00 20.4300 2015-11-11 11:38:00 20.565

2 2015-11-11 11:44:00 21.0000 NaT 4.000

3 2009-04-20 10:28:00 13.7788 2009-04-20 10:46:00 13.700

同样,要仅填充NaT值,请在上面的代码中将“exclude”更改为“include”。

u = df.select_dtypes(include=['datetime'])

df[u.columns] = u.fillna(pd.to_datetime('today'))

df

Date/Time_entry Entry Date/Time_exit Exit

0 2015-11-11 10:52:00 19.9900 2015-11-11 11:30:00.000000 20.350

1 2015-11-11 11:36:00 20.4300 2015-11-11 11:38:00.000000 20.565

2 2015-11-11 11:44:00 21.0000 2019-02-17 16:11:09.407466 4.000

3 2009-04-20 10:28:00 13.7788 2009-04-20 10:46:00.000000 13.700

0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子