gpt4 book ai didi

Python/Pandas - 如何根据单元格值为每一行分配值

转载 作者:行者123 更新时间:2023-11-28 22:26:16 27 4
gpt4 key购买 nike

我有这样的数据框:

  x  y   z
0 AA BB CC
1 BB NaN CC
2 BB AA NaN

和字典:

d = {'AA': 1, 'BB': 2, 'CC': 3}

我想将每个单元格的值与字典中的值进行比较,并为每一行添加另一个新列,其中包含这些值的总和。结果我需要这样的东西:

  x  y   z   sum
0 AA BB CC 6
1 BB NaN CC 5
2 BB AA NaN 3

我需要最有效的解决方案,有什么想法吗?

最佳答案

使用replacesum每行 axis=1,最后转换为 int astype :

print (df.replace(d))
x y z
0 1 2.0 3.0
1 2 NaN 3.0
2 2 1.0 NaN

df['sum'] = df.replace(d).sum(axis=1).astype(int)
print (df)
x y z sum
0 AA BB CC 6
1 BB NaN CC 5
2 BB AA NaN 3

关于Python/Pandas - 如何根据单元格值为每一行分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947554/

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