Pandas系列来自列名称列

时间:2016-04-18 18:52:14

标签: python pandas

我喜欢从包含列名的列中获取新系列,如下所示:

df = pd.DataFrame({'Col':['a','b','c','c','a','a'], 'a': [20,10,5,1,1,10], 'b': [4,10,5,2,10,12], 'c': [20,20,15,4,8,19]})

>>> df

  Col   a   b   c
0   a   20  4   20
1   b   10  10  20
2   c   5   5   15
3   c   1   2   4
4   a   1   10  8
5   a   10  12  19

我需要一个系列,显示每一行" Col"列中的值:

>>> s

0    20
1    10
2    15
3     4
4     1
5    10
dtype: int64

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您可以在数据框上使用apply

In [339]: df.apply(lambda x: x[x['Col']], axis=1)
Out[339]:
0    20
1    10
2    15
3     4
4     1
5    10
dtype: int64