首页 > 解决方案 > Pandas 两个数据框的交集,除了一个之外几乎具有相同的列

问题描述

tab1 的列名称为:'index', 'Province/State', 'Country/Region', 'Lat', 'Long', 'Date', 'Recovered'

tab2 的列名称为:'index', 'Province/State', 'Country/Region', 'Lat', 'Long', 'Date', 'Confirmed'

由于两个表中都缺少值,所以我想将这些无序(46550 × 6 和 44275 × 6)表加入常见的经纬度值。我尝试合并加入,但未能完成结果。

标签: pythonpandasdataframejoininner-join

解决方案


既然你说你需要“交集”,所以我想你需要一个内部连接。

df = tab1.merge(tab2, how='inner', on=['Lat', 'Long'])

在此之后,您可能会重复其他列,因为您的数据框具有与您声称的几乎相同的列。

例如,您将拥有Province/State_xfromtab1Province/State_yfrom tab2。您将需要删除这些重复的列:

# E.g.
df.drop(columns=['Province/State_y'])

您可能还想将它们重命名:

# E.g.
df.rename(columns={'Province/State_x': 'Province/State'})

推荐阅读