如何使用总和和平均值对面板数据从每日到每月进行重采样?

How to do Resampling of panel data from daily to monthly with sums and averages?

我正在使用如下所示的 COVID-19 数据集:

Date City City ID State Estimated Population Estimated Population_2019 Confirmed Rate Death Rate New Confirmed New Deaths
2020-03-17 Rio Branco 10002 AC 413418 407319 0.72566 0.01 3 0
2020-03-17 Manaus 12330 AM 555550 555964 0.65433 0.005 5 3

日期是我的索引。如所见,我有多个日期相同的城市。

鉴于我有每天的数据点,我正在尝试对我的数据重新采样,以便我有每月的数据点。我尝试过使用 resample 命令,但我遇到了麻烦,因为我希望我的一些列是相同的和总和,而一些是平均值。更具体地说:

我怎样才能编写代码来区分要添加哪些列,哪些列取平均值,以及如何为确诊率和死亡率的标准差创建两个新列?

您应该探索 groupby 与 .agg 的组合。 这样的东西应该可以工作

df_grouped=df.groupby([df.index.month,'City ID']).agg({'Estimated Population':'mean','Estimated Population_2019':'mean','Confirmed Rate':['mean','std'],'Death Rate':['mean','std'],'New Confirmed':'sum','New Deaths':'sum'})

df_grouped.index.rename(['Month','City ID'],inplace=True)