我有一个数据框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] 删除。
我来说两句