gpt4 book ai didi

python - 如何分别填写NaT和NaN值

转载 作者:行者123 更新时间:2023-11-28 22:12:34 27 4
gpt4 key购买 nike

我的数据框同时包含 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 属于日期时间列,因此您可以在应用填充操作时排除它们。

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

关于python - 如何分别填写NaT和NaN值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54738858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com