【发布时间】:2017-03-12 15:22:18
【问题描述】:
最近,我使用 pandas 来处理包含选举数据的 csv。在我的 DataFrame 中,我为一个地区的每个城市都有一个“获胜者”列。
可以表示为:
city winner
0 city1 party1
1 city2 party3
2 city3 party1
3 city4 party2
4 city5 party1
...
5188 city5189 party3
事情是这样的:我想创建一个名为“coulour”的新列。目标是根据“获胜者”的价值为每个城市提供独特的颜色。
为此,我可以使用 if/elif 语句,但我想知道是否可以使用对应表。例如,如果我一方面有我的巨大 DataFrame,另一方面有这个小的:
winner colour
0 party1 #000
1 party2 #fff
2 party3 #c0c0c0
如果 'winner' 的值在两个 DataFrame 中匹配,我可以使用 pandas 的一种功能来匹配显示 'color' 的良好值吗?
我试过map()函数和get_loc(),但效果不是很好。
【问题讨论】:
标签: python pandas merge mapping series