【发布时间】:2025-05-17 08:10:02
【问题描述】:
我是 python 新手,我正在尝试使用 covid 数据集。下面显示了我的 COVID DF 的尾部。
我需要一个新列 (covid ['Daily_Confirmed']) 减去每行中的“已确认”列,因为此功能显示汇总数据。
如果“地区”、“人口”和“日期”列相同,则应扣除已确认列中的两行。
这样,我们将在同一个 DF 中为每个区域提供每日确诊病例数。
| region | Population | date | Confirmed | |
|---|---|---|---|---|
| 10889 | Tipperary | 159553 | 2021-04-22 | 5719 |
| 10890 | Waterford | 116176 | 2021-04-22 | 5542 |
| 10891 | Westmeath | 116176 | 2021-04-10 | 3780 |
for i in range (1 ,len(covid)):
if (covid['region'][i] == covid['region'][i-1]) and (covid['Population'][i] == covid['Population'][i-1]) and (covid['Population'][i] == covid['date'][i] == covid['date'][i-1]:
covid ['Daily_Confirmed'] = covid['Confirmed'].loc[i] - covid['Confirmed'].loc[i-1]
covid.head()
【问题讨论】:
-
df.sort_values('date', ascending=False).groupby(['region', 'Population'])['Confirmed'].diff()? -
@ScottBoston,您好,非常感谢。我面临一个问题,即扣除的数字显示在错误的行中。我的意思是如果 2021 年 5 月 3 日的确诊病例是 100 例,前一天是 95 例,那么现在扣除的数字应该是 5 并显示在与 05/03/2021 相关的行中,而不是 04/03/2021 行。
-
我相信只要从@Scott Boston 的回答中颠倒排序顺序就可以解决这个问题:
df.sort_values('date').groupby(['region', 'Population'])['Confirmed'].diff() -
@ShubhamPeriwal 非常感谢