当我本周没有行时,如何在我的数据框中填写周条目?

How can I fill week entries in my dataframe when I don't have rows for this week?

我创建了以下数据集来解释我的问题:

rng = pd.date_range('2020-11-01', periods=30, freq='D')
df = pd.DataFrame({ 'Date': rng, 'Val': [0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1] }) 

df3=df.drop([3,8,9,10,11,12,13,14])

从代码中可以看出,我提取了一些数据(更具体地说是一周)。然后我想按周对我的数据进行分组并对变量求和 Val:

aux3=df3.groupby(df3['Date'].dt.week).sum()

这就是我得到的输出。正如您在第 46 周看到的那样,它没有任何价值;因此,它不能添加任何东西。我怎样才能用值填充本周,例如至少为零?

      Val
Date     
44      0
45      6
47      7
48      0
49      1

您可以在范围内使用重新索引:

aux3.reindex(range(aux3.index.min(), aux3.index.max()+1), fill_value=0)

输出:

      Val
week     
44      0
45      6
46      0
47      7
48      0
49      1