我有一个 Pandas df 列“文本”,如下所示:
我有一个字典,以整数为键,以列表为值。例如,
d = {1023: ['Aztecs', 'Mayans'], 2213: ['Apple','Banana'], 3346: ['Christopher', 'Martin']}
我想替换 df['text'] 中的每个值以获取字典中相应的键。我很困惑如何解决这个问题!
我的 df 最终应该是这样的:
最佳答案
创建逆字典并使用.map
:
inv_d = {vv: k for k, v in d.items() for vv in v}
df["text 2"] = df["text"].map(inv_d)
print(df)
打印:
text text 2
0 Aztecs 1023
1 Apple 2213
2 Mayans 1023
3 Christopher 3346
4 Banana 2213
5 Martin 3346
关于python - 使用字典作为查找替换 pandas 数据框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74034602/