我有以下DataFrame:
Date best a b c d
1990 a 5 4 7 2
1991 c 10 1 2 0
1992 d 2 1 4 12
1993 a 5 8 11 6
我想制作如下数据帧:
Date best value
1990 a 5
1991 c 2
1992 d 12
1993 a 5
所以我希望通过使用列名来找到基于另一个行值的值.例如,第二个df中1990的值应该从第一个df中查找“a”,第二个行应该从第一个df中查找“c”(= 2).
有任何想法吗?
解决方法:
有一个内置的lookup
函数可以处理这种情况(按行/列查找).我不知道它是如何优化的,但可能比应用解决方案更快.
In [9]: df['value'] = df.lookup(df.index, df['best'])
In [10]: df
Out[10]:
Date best a b c d value
0 1990 a 5 4 7 2 5
1 1991 c 10 1 2 0 2
2 1992 d 2 1 4 12 12
3 1993 a 5 8 11 6 5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。