将同一Pandas数据框中的列统一到一列

时间:2017-11-03 08:20:59

标签: pandas

您好我想将同一数据框中的列统一到一列,例如:

col1 col2
1 1.4 1.5
2 2.3 2.6
3 3.6 6.7


col1&2
1 1.4
1 1.5
2 2.3
2 2.6
3 3.6
3 6.7

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

使用stack,然后按reset_index删除级别,最后按to_frame创建一列DataFrame

df = df.stack().reset_index(level=1, drop=True).to_frame('col1&2')
print (df)
   col1&2
1     1.4
1     1.5
2     2.3
2     2.6
3     3.6
3     6.7

或者:

df = pd.DataFrame({'col1&2': df.values.reshape(1,-1).ravel()}, index=np.repeat(df.index, 2))
print (df)
   col1&2
1     1.4
1     1.5
2     2.3
2     2.6
3     3.6
3     6.7
相关问题