我的问题是这两个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.concat
与set_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')