如何合并熊猫数据框中的两列,堆叠在顶部

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']])

以上是关于如何合并熊猫数据框中的两列,堆叠在顶部的主要内容,如果未能解决你的问题,请参考以下文章

连接熊猫数据框中的两列

如何基于一个数据框中的一列和第二个数据框中的两列合并两个数据框

如何将一列中的两列合并为日期与熊猫?

需要合并数据框中的两列[重复]

将数据框中的两列或多列合并为具有新名称的新列

如何使用点绘制熊猫数据框的两列