如何在Pandas中求累计和的倒数



我有一个相当简单的问题,似乎找不到任何解决方案。我在网上看过很多类似的问题,但他们的解决方案对我来说不起作用。

我有一个熊猫数据集,格式如下

CountryCode  ConfirmedCases  ConfirmedDeaths        date
335         ABW          4872.0             45.0  2020-12-01
336         ABW          4902.0             45.0  2020-12-02
337         ABW          4923.0             45.0  2020-12-03
338         ABW          4942.0             45.0  2020-12-04
339         ABW          4957.0             45.0  2020-12-05

ConfirmedCases和ConfirmedDeaths都是按CountryCode计算的累计总数,但我需要按CountryCode的每日病例和每日死亡。这需要我计算数据集中每个国家在tt-1时间的确诊病例之间的差异,即同一国家今天和前一天的病例数之间的差异。理想情况下,我希望有一个解决方案,允许我在数据集中注册按国家划分的每日病例数和每日死亡人数作为两个新变量。因此,我想要一些应该看起来像以下的东西:

CountryCode  ConfirmedCases  ConfirmedDeaths        date    DailyCases    Daily Deaths
335         ABW          4872.0             45.0  2020-12-01     15            0
336         ABW          4902.0             45.0  2020-12-02     30            0
337         ABW          4923.0             45.0  2020-12-03     21            0
338         ABW          4942.0             45.0  2020-12-04     19            0
339         ABW          4957.0             45.0  2020-12-05     15            0

提前感谢您的帮助!

Quang Hoang的解决方案是正确的,只是您应该将NaN值替换为每个国家的初始值:

df['DailyCases'] = df.groupby('CountryCode')['ConfirmedCases'].diff()
df['DailyCases'] = df['DailyCases'].fillna(df['ConfirmedCases'])

最新更新