我正在处理一个选举数据集,我想在其中显示哪个政党在每个地区拥有更高的代表。为此,我想在巴基斯坦地图上展示它。选举数据集没有关于经纬度的信息。我找到了另一个有这个信息的数据集。我不知道如何合并这个数据集,以便我可以在巴基斯坦地图上显示我的结果。
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
注意:为了简洁起见,我使用了数据的子集。免责声明此解决方案假定每个座位的纬度和长度都是已知的。