gpt4 book ai didi

python - 使用查找数据框替换数据框中的值

转载 作者:行者123 更新时间:2023-11-28 20:57:23 24 4
gpt4 key购买 nike

我想使用 lookup 数据帧替换 df 数据帧中的值。

import pandas as pd

df=pd.DataFrame({
'no1':[20,20,40,10,50],
'no2':[50,20,10,40,50],
'no3':[30,10,50,40,50]
})

no1 no2 no3
0 20 50 30
1 20 20 10
2 40 10 50
3 10 40 40
4 50 50 50

lookup=pd.DataFrame({'label':['A','B','C','D','E'],
'id':[10,20,30,40,50]})

label id
0 A 10
1 B 20
2 C 30
3 D 40
4 E 50

特别是,我想要:

   no1  no2 no3
0 B E C
1 B B A
2 D A E
3 A D D
4 E E E

使用 pandas 的最佳方法是什么?

P.S.:我发现了一个非常相似的 question在此,但我不太了解它在 R 中的做法。感谢 Python 解决方案。

最佳答案

你可以使用 replace用字典:

import pandas as pd

df=pd.DataFrame({
'no1':[20,20,40,10,50],
'no2':[50,20,10,40,50],
'no3':[30,10,50,40,50]
})

lookup=pd.DataFrame({'label':['A','B','C','D','E'],
'id':[10,20,30,40,50]})

result = df.replace(dict(zip(lookup.id, lookup.label)))

print(result)

输出

  no1 no2 no3
0 B E C
1 B B A
2 D A E
3 A D D
4 E E E

关于python - 使用查找数据框替换数据框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53118854/

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