gpt4 book ai didi

python - Pandas:使用来自另一个数据框的值分配值

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:55 24 4
gpt4 key购买 nike

假设我有 df1:

        col1      col2      
Day0 'A' NaN
Day1 'B' 'C'
Day2 'C' 'A'

和 df2:

       'A'    'B'  'C'
Day0 1 4 3
Day1 2 7 6
Day2 5 1 10

如何使用 df2 中的值替换 df1 中的值以获得如下输出:

        col1      col2      
Day0 1 Nan
Day1 7 6
Day2 10 5

我的想法是,我 cbind 这两个数据框并尝试根据指定的列替换每列上的值,但似乎没有捷径可走。

最佳答案

使用replace通过嵌套的字典,但它只适用于列,所以双转置是必要的:

d = df2.to_dict(orient='index')
print (d)
{'Day2': {"'C'": 10, "'A'": 5, "'B'": 1},
'Day1': {"'C'": 6, "'A'": 2, "'B'": 7},
'Day0': {"'C'": 3, "'A'": 1, "'B'": 4}}

df = df1.T.replace(d).T
print (df)
col1 col2
Day0 1.0 NaN
Day1 7.0 6.0
Day2 10.0 5.0

关于python - Pandas:使用来自另一个数据框的值分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46903330/

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