Pandas数据帧:当行包含不同的国家/地区时,将两个全局数据集的列组合在一起



我的问题是这两个CSV文件在不同的行有不同的国家/地区,所以我不能只将有问题的列附加到另一个数据帧中。

https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv

https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv

我正在想办法使用for循环,检查每一行,并将恢复的事例添加到两个数据帧中国家名称相同的正确行中,但我不知道如何将这一想法应用到代码中。帮助

您可以通过以下几种方式实现:

选项1:将pd.concatset_index一起使用

pd.concat([df_confirmed.set_index(['Province/State', 'Country/Region']),
df_recovered.set_index(['Province/State', 'Country/Region'])],
axis=1, keys=['Confirmed', 'Recovered'])

选项2:使用带有左联接的pd.DataFrame.merge或使用how参数的外联接

df_confirmed.merge(df_recovered, on=['Province/State', 'Country/Region'], how='left', 
suffixes=('_confirmed','_recovered'))

使用github中的pd.read_csv原始格式:

df_recovered = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_recovered_global.csv')
df_confirmed = pd.read_csv('https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv')

最新更新