gpt4 book ai didi

python:将多个值分配给字典键并用键替换列值

转载 作者:行者123 更新时间:2023-12-01 02:39:55 25 4
gpt4 key购买 nike

我有一个数据集,其中包含属于相同类别但具有不同名称的值。我正在考虑创建一个字典,其中一个键分配给多个值,然后用该键替换列中的值。这是我所拥有的以及我想要实现的目标。

定义字典

sspdict={'Eva':["M-EV", "G-EV"],'Re Sci': ['G-RESC', 'M-RESC', 'S-RESC', 'D-RESC'], 'Ed':['G-PO' , 'M-PO'], 'Global':['C-GCC', 'D-GCLA', 'C-LACL']}

数据集:

Col1  Col2  Col3
12 No M-EV
22 Yes G-EV
23 Yes G-RESC
35 No M-PO
34 Yes D-GCLA
46 No S-RESC
89 No G-PO
90 Yes C-GCC

期望的结果

Col1  Col2  Col3
12 No Eva
22 Yes Eva
23 Yes Re Sci
35 No Ed
34 Yes Global
46 No Re Sci
89 No Ed
90 Yes Global

您能帮忙吗?

最佳答案

让我们试试这个单行:

df.assign(Col3 = df['Col3'].apply(lambda x: [key for key, value in sspdict.items() if x in value][0]))

或者让我们使用生成器:

df.assign(Col3 = df['Col3'].apply(lambda x: next(key for key, value in sspdict.items() if x in value)))

输出:

   Col1 Col2    Col3
0 12 No Eva
1 22 Yes Eva
2 23 Yes Re Sci
3 35 No Ed
4 34 Yes Global
5 46 No Re Sci
6 89 No Ed
7 90 Yes Global

关于python:将多个值分配给字典键并用键替换列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45830178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com