具有 Python 的 COVID-19 URL 数据的 groupby 和 melt 函数

groupby and melt Function of COVID-19 URL data with Python

我创建了一个函数,它从 URL 中读取 COVID-19 CSV 文件,删除一些特征,然后按国家/地区名称分组。我希望此函数使用 DataFrame.melt 来保持 'Country/Region' 不变,并将行中存在的所有日期作为单个列。我遇到错误“DataFrame 中不存在以下 'id_vars':['Country/Region']”。

def meltedgroupby_covid_data (hopkin_url, case_type):
df =  pd.read_csv (hopkin_url)
df_drop = df.drop (['Province/State', 'Lat', 'Long'], axis = 1)
groupby_covid = df_drop.groupby(df_drop['Country/Region']).aggregate('sum')
meltedgrouped = groupby_covid.melt(id_vars = ['Country/Region'])
meltedgrouped.rename (columns = {'variable': "Date", "value": covid_case}, inplace = True)
return meltedgrouped

调用函数

confirmed_statistic = groupby_covid_data('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv', 'Confirmed')

我需要它在结尾处看起来像这样 'Country/Region'、'Date'、'Confirmed'。 我可以在一个函数中做 groupby 和 melt 还是需要分成两个独立的部分?

我认为在这种情况下,您需要在执行 groupBy 后添加下一条语句

groupby_covid = groupby_covid.reset_index()

分组后 Country/Region 字段作为索引返回,然后生成您面临的错误。