将多列熊猫数据框合并为一列

Nayana Madhu

我有一个数据框df,如下所示,它的列数不时变化:

  Column 1     Column 2   
0        A        E  
1        B        F  
2        C        G  
3        D        H  

我需要将各列合并为一个,如下所示:

        column 3  
0         A,E  
1         B,F  
2         C,G  
3         D,H  

为了使行合并为一体,以下是代码。我需要类似的东西,不会指定列名。

df = df.stack().to_frame().T  
df.columns = ['{}_{}'.format(*c) for c in df.columns] 
最大容量
In [52]: df.Column1 += ',' + df.pop('Column2')

In [53]: df
Out[53]:
  Column1
0     A,E
1     B,F
2     C,G
3     D,H

要么

In [56]: df['Column3'] = df.pop('Column1') + ',' + df.pop('Column2')

In [57]: df
Out[57]:
  Column3
0     A,E
1     B,F
2     C,G
3     D,H

更新:

In [77]: df
Out[77]:
  Column1 Column2 Column3
0       A       E       I
1       B       F       J
2       C       G       K
3       D       H       L

In [78]: res = pd.DataFrame({'ColX': df.add(',').sum(axis=1).str.rstrip(',')}, df.index)

In [79]: res
Out[79]:
    ColX
0  A,E,I
1  B,F,J
2  C,G,K
3  D,H,L

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章