gpt4 book ai didi

python - Pandas :为无值设置默认日期时间

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:42 24 4
gpt4 key购买 nike

我有一个 Pandas 数据框,其中的列包含日期作为字符串(类似 SQL 的格式)。但是,许多单元格包含 None 值。我正在尝试使用 to_datetime 将这些列转换为 Pandas 日期,并为包含 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_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

enter image description here

关于python - Pandas :为无值设置默认日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39210033/

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