使用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
答案 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