python - 使用字典作为查找替换 pandas 数据框值

标签 python pandas dictionary

我有一个 Pandas df 列“文本”,如下所示:

<表类=“s-表”> <标题> 文本 <正文> 阿兹特克人 苹果 玛雅人 克里斯托弗 香蕉 马丁

我有一个字典,以整数为键,以列表为值。例如, d = {1023: ['Aztecs', 'Mayans'], 2213: ['Apple','Banana'], 3346: ['Christopher', 'Martin']}

我想替换 df['text'] 中的每个值以获取字典中相应的键。我很困惑如何解决这个问题!

我的 df 最终应该是这样的:

<表类=“s-表”> <标题> 文本 <正文> 1023 2213 1023 3346 2213 3346

最佳答案

创建逆字典并使用.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/

相关文章:

python - Pandas 用另一列替换列的一部分

c++ - 如何使用 MAP 创建类?? C++

Python:如何在使用 'for' 循环时获得更多控制权?

python - 将 href 字符串转换为链接列表

python-3.x - 如何使用 PIL 保存具有自定义名称的图像?

python - 查找 Pandas 系列中的关键字子集 (Python)

python - 如何将元组列表转换为以索引为键的字典

c# - 将 IEnumerables 的 IEnumerable 转换为字典

python - Raspberry Pi NoIR 相机挂起

Python-OpenCV 膨胀和侵 eclipse 函数不修改任何东西