如何合并熊猫数据框中的两列,堆叠在顶部
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何合并熊猫数据框中的两列,堆叠在顶部相关的知识,希望对你有一定的参考价值。
我有一个像这样的数据框:
df1
x_data y_data
b a
d c
f e
h g
j i
l k
我需要像这样创建一个新的数据框:
data identifier
b x
d x
f x
h x
j x
l x
a y
c y
e y
g y
i y
k y
可以用熊猫吗?就像将一列堆叠在另一列之上,但保留该列是什么类型的信息的记录。非常感谢。
答案
df.columns = df.columns.str.split('_', expand=True)
df = (df.unstack()
.reset_index(level=[1,2], drop=True)
.rename_axis('identifier')
.reset_index(name='data')[['data','identifier']])
print (df)
data identifier
0 b x
1 d x
2 f x
3 h x
4 j x
5 l x
6 a y
7 c y
8 e y
9 g y
10 i y
11 k y
或:
df.columns = df.columns.str.split('_').str[0]
df = (df.unstack()
.reset_index(level=1, drop=True)
.rename_axis('identifier')
.reset_index(name='data')[['data','identifier']])
以上是关于如何合并熊猫数据框中的两列,堆叠在顶部的主要内容,如果未能解决你的问题,请参考以下文章