[英]Add missing dates pandas dataframe
我有一個 Pandas Dataframe,如下所示。 我想從今天(2021 年 1 月 3 日)到 30 天之后在 B 列中添加缺失的日期。 同時在 C 列的 A 列和 NaN 中添加 0。
我環顧四周並試圖查看一些類似的問題,例如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
提前致謝!
我們可以為接下來的 30 天創建一個日期范圍,然后重新索引我們的 dataframe:
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)
B A C
0 2021-01-03 4889.0 2021-01-02
1 2021-01-04 4853.0 2021-01-02
2 2021-01-05 0.0 NaN
3 2021-01-06 0.0 NaN
4 2021-01-07 0.0 NaN
5 2021-01-08 0.0 NaN
6 2021-01-09 0.0 NaN
7 2021-01-10 -618.0 2021-01-01
8 2021-01-11 0.0 NaN
9 2021-01-12 0.0 NaN
10 2021-01-13 0.0 NaN
11 2021-01-14 0.0 NaN
12 2021-01-15 0.0 NaN
13 2021-01-16 0.0 NaN
14 2021-01-17 0.0 NaN
15 2021-01-18 -25318.0 2021-01-03
16 2021-01-19 0.0 NaN
17 2021-01-20 0.0 NaN
18 2021-01-21 0.0 NaN
19 2021-01-22 0.0 NaN
20 2021-01-23 0.0 NaN
21 2021-01-24 0.0 NaN
22 2021-01-25 0.0 NaN
23 2021-01-26 0.0 NaN
24 2021-01-27 0.0 NaN
25 2021-01-28 0.0 NaN
26 2021-01-29 0.0 NaN
27 2021-01-30 0.0 NaN
28 2021-01-31 0.0 NaN
29 2021-02-01 -4064.0 2021-01-02
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.