簡體   English   中英

添加缺少的日期 pandas dataframe

[英]Add missing dates pandas dataframe

我有一個 Pandas Dataframe,如下所示。 我想從今天(2021 年 1 月 3 日)到 30 天之后在 B 列中添加缺失的日期。 同時在 C 列的 A 列和 NaN 中添加 0。

我環顧四周並試圖查看一些類似的問題,例如thisthis ,但我不知道該怎么做。 請幫我。

          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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM