在数据帧中插入来自另一个数据帧的两列



我正在处理一个选举数据集,我想在其中显示哪个政党在每个地区拥有更高的代表。为此,我想在巴基斯坦地图上展示它。选举数据集没有关于经纬度的信息。我找到了另一个有这个信息的数据集。我不知道如何合并这个数据集,以便我可以在巴基斯坦地图上显示我的结果。

df1
city       lat      lon
karachi    24.860   67.010
lahore     31.549   74.3436
sialkot    32.50    74.53

election_df2 
District   Seat     ConstituencyTitle     CandidateName     Party     Votes
Karchi     Karachi    NA249               sajid abdullah     pmln     80000
lahore     lahore     NA129               firdous ashiq      pppp     50010
sialkot    sialkot    NA150               ahsan iqbal        pmln     45000 

我会这样做

import pandas as pd
df1 = pd.DataFrame([["karachi",24.860,67.010],["lahore",31.549,74.3436],["sialkot",32.50,74.53]],columns=["city","lat","lon"])
df2 = pd.DataFrame([["Karachi","pmln",80000],["lahore","pppp",50010],["sialkot","pmln",45000]],columns=["Seat","Party","Votes"])
df2["city"] = df2.Seat.str.lower()
df3 = df2.merge(df1,on='city')
print(df3)

输出
Seat Party  Votes     city     lat      lon
0  Karachi  pmln  80000  karachi  24.860  67.0100
1   lahore  pppp  50010   lahore  31.549  74.3436
2  sialkot  pmln  45000  sialkot  32.500  74.5300

注意:为了简洁起见,我使用了数据的子集。免责声明此解决方案假定每个座位的纬度和长度都是已知的。

最新更新