gpt4 book ai didi

python - Pandas 结合了 VLOOKUP 和 HLOOKUP 或者如何在矩阵中选择一个值

转载 作者:行者123 更新时间:2023-12-01 00:44:23 31 4
gpt4 key购买 nike

在我的previous task我需要创建一个基于阈值的列表,它已经解决了。然后我需要通过后续步骤来完成它,但我认为创建一个单独的问题会很有帮助。基本上,我需要将矩阵中的值带到 DataFrame 中创建一个新列:

我有上一个任务的列表:

enter image description here

和矩阵:

enter image description here

我需要选择一个与行和列的交叉单元格中的值相对应的值。

enter image description here

最简单的方法是什么?感谢您的帮助

这里是简单的试验数据框:

import pandas as pd

df = pd.DataFrame({'id':[1,2,3],
'class':['class_1', 'class_5', 'class_3']})


matrix = pd.DataFrame({'id':[1,2,3],
'class_1':[9,5,7],
'class_2':[8,4,6],
'class_3':[7,3,8],
'class_4':[5,6,6],
'class_5':[0,8,9]})

最佳答案

用途:

@Erfan 建议:

df['new_col'] = matrix.set_index('id').lookup(df['id'], df['class'])

这比我下面的原始陈述更好:

matrix = matrix.set_index('id')

df['new_col'] = matrix.lookup(df['id'], df['class'])

df

输出:

   id    class  new_col
0 1 class_1 9
1 2 class_5 8
2 3 class_3 8

关于python - Pandas 结合了 VLOOKUP 和 HLOOKUP 或者如何在矩阵中选择一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57098084/

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