首页 > 解决方案 > 如何使用列的结果作为列引用?Python

问题描述

您将如何使用 pandas 数据集中变量的结果来迭代地调用与结果同名的不同列。如果一列的结果是字母,而其他列的标题是这些字母,你怎么能使用字母列的结果作为列名呢?

以这个示例数据集为例

letter a b c d
a      1 3 4 2  
d      4 3 2 1 
c      2 1 4 3
d      3 4 2 1

期望的结果

letter a b c d  correct answer
a      1 3 4 2  1  
d      4 3 2 1  1 
c      2 1 4 3  4
d      3 4 2 1  1

您如何创建在所需结果中看到的正确答案变量

标签: pythonpandasdataframe

解决方案


假设您已设置letter为索引,我想您可以执行以下操作:

df['correct_answer'] = df.apply(lambda x: x.loc[x.name], axis=1)

产量:

        a  b  c  d  correct_answer
letter                            
a       1  3  4  2               1
d       4  3  2  1               1
c       2  1  4  3               4
d       3  4  2  1               1

推荐阅读