微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

更改一个df中的列值以匹配不同df中的列值?

我有2个要根据列名称合并的数据框.一个df中的name列具有缩写版本,而另一个df中的name列具有全名.更改列名以相互匹配的最有效方法是什么?

df1[names] = ["Man Utd", "Man City", "Chelsea", "Liverpool", "Spurs", "Arsenal"]
df2[names] = ["Manchester United", "Manchester City", "Chelsea FC", "Liverpool FC", "Tottenham Hotspurs", "Arsenal FC"]

解决方法:

您可以使用dict(zip())如下创建字典

df1['names']  = ["Man Utd", "Man City", "Chelsea", "Liverpool", "Spurs", "Arsenal"]

df2['names']  = ["Manchester United", "Manchester City", "Chelsea FC", "Liverpool FC", "Tottenham Hotspurs", "Arsenal FC"]
d=dict(zip(df1['names'],df2['names'])) #created a mapping dictionary
print(d)

{'Man Utd': 'Manchester United',
'Man City': 'Manchester City',
 'Chelsea': 'Chelsea FC',
 'Liverpool': 'Liverpool FC',
 'Spurs': 'Tottenham Hotspurs',
 'Arsenal': 'Arsenal FC'}

然后将df1 [names]更改为

df1[names]=df1[names].map(d)

发布后,您可以执行合并,因为列名现在相同.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐