python - Pandas Dataframes:当行包含不同国家/地区时,组合来自两个全球数据集的列
问题描述
我的问题是这两个 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')
推荐阅读
- mysql - mySQL:在插入查询中插入查询值
- python - 给定一个字典和一个序列在python中返回它的总数
- sql - SQL Server 注入触发器被忽略?
- css - 如何修复我的表格的标题,使它们不会滚动
- dll - 有没有办法修复“访问冲突 - 代码 c0000005(!!!第二次机会!!!)”错误
- vue.js - vue温泉ui使用组件事件
- python - 在 PyCharm Pro 中从 Google App Engine SDK 导入时出现问题
- python - 如何使用 NumPy 生成相邻的索引
- javascript - jQuery在keydown事件后触发mousedown touchstart事件
- scheme - 比较两个列表在方案中是否相同