gpt4 book ai didi

pandas - Pandas 运行日期的填充

转载 作者:行者123 更新时间:2023-12-01 23:36:29 24 4
gpt4 key购买 nike

我有一个包含日期和值列的数据框,如下所示:

date       value
2019-01-01 10
2019-01-02 15
NaT 20
NaT 30
2019-01-05 40
2019-01-06 45

如果没有预定义的 2019-01-03 和 2019-01-04,我如何自动填充 NaT?

最佳答案

如果没有重复的排序日期时间具有正确放置的缺失值并且第一个和最后一个值没有缺失,则可以分配回由 date_range 创建的值:

df['date'] = pd.date_range(df['date'].min(), df['date'].max())
print (df)
date value
0 2019-01-01 10
1 2019-01-02 15
2 2019-01-03 20
3 2019-01-04 30
4 2019-01-05 40
5 2019-01-06 45

另一个想法是为所有缺失的组创建时间增量范围,并使用 ffill 添加到最后一个非缺失的日期时间:

m = df['date'].isna()
s = pd.to_timedelta(df[m].groupby(m.ne(m.shift()).cumsum()).cumcount().add(1), unit='d')
df.loc[m, 'date'] = df['date'].ffill() + s
print (df)
date value
0 2019-01-01 10
1 2019-01-02 15
2 2019-01-03 20
3 2019-01-04 30
4 2019-01-05 40
5 2019-01-06 45

关于pandas - Pandas 运行日期的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57757749/

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