繁体   English   中英

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

[英]Combine multiple columns of pandas data frame to one column

我有一个数据框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

这是一个带有.join -

pd.DataFrame({'Out':[",".join(i) for i in df.values]})

样品运行-

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

In [376]: pd.DataFrame({'Out':[",".join(i) for i in df.values]})
Out[376]: 
     Out
0  A,E,I
1  B,F,J
2  C,G,K
3  D,H,L

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM