2列值 - > 1列值+ 1个pandas中的标签列

时间:2016-08-07 08:24:50

标签: python pandas

使用pandas在一行中实现这一目标的最优雅方式是什么?

起点:

import pandas as pd
df = pd.DataFrame({'A':[0.2,0.3,0.1,0.45], 'B':[0.5,0.8,0.15,0.55]})

i   A     B
0   0.2   0.5
1   0.3   0.8
2   0.1   0.15
3   0.45  0.55

期望的终点:

i   value  label
0   0.2    A
1   0.3    A
2   0.1    A
3   0.45   A
4   0.5    B
5   0.8    B
6   0.15   B
7   0.55   B

1 个答案:

答案 0 :(得分:5)

pd.melt(df)
Out: 
  variable  value
0        A   0.20
1        A   0.30
2        A   0.15
3        A   0.45
4        B   0.50
5        B   0.80
6        B   0.15
7        B   0.55