如何使用groupby计算平均百分比变化

2024-04-27 03:46:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个日期框来计算一段时间内的平均百分比变化

目标数据帧如下所示:

|   | City | Ave_Growth |
|---|------|------------|
| 0 | A    | 0.0        |
| 1 | B    | -0.5       |
| 2 | C    | 0.5        |

虽然简化了,但实际数据将是过去7天平均变化的城市

原始数据集df_bycity如下所示:

|   | City | Date       | Case_Num |
|---|------|------------|----------|
| 0 | A    | 2020-01-01 | 1        |
| 1 | A    | 2020-01-02 | 1        |
| 2 | A    | 2020-01-03 | 1        |
| 3 | B    | 2020-01-01 | 3        |
| 4 | C    | 2020-01-03 | 3        |

虽然简化了,但这代表了真实的数据。有些城市病例较少,有些城市病例较多。在一些城市,将有几天没有报告病例。但我想计算一下从今天起过去七天的平均变化。我简化了

我尝试了以下代码,但没有得到想要的结果:

df_bycity.groupby(['City','Date']).pct_change()

Case_Num
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN

显然,我使用pct_change或groupby的方式不正确。我只是在学习

谁能给我指出正确的方向?谢谢


Tags: 数据city目标dfdatenanchangenum