我有一个如下所示的 Pandas 数据框。我想从今天(2021-01-03)和 30 天之后在 B 列中添加缺失的日期。同时在A列加0,在C列加NaN。
我环顾四周,试图查看一些类似的问题,例如 this 和 this,但我不知道该怎么做。请帮帮我。
A B C
0 4889 2021-01-03 2021-01-02
1 4853 2021-01-04 2021-01-02
2 -618 2021-01-10 2021-01-01
3 -25318 2021-01-18 2021-01-03
4 -4064 2021-02-01 2021-01-02
提前致谢!
答案 0 :(得分:4)
我们可以为接下来的 30 天创建一个日期范围,然后重新索引我们的数据框:
df %>%
map(., ~count(.x, name, value))
df['B'] = pd.to_datetime(df['B'])
dates = pd.date_range(start=pd.Timestamp('now'), freq='D', periods=30)
df = df.set_index('B').reindex(dates.normalize().rename('B')).reset_index()
df['A'] = df['A'].fillna(0)