Python 将列合并为具有\n

Python 将列合并为具有\n,python,pandas,dataframe,multiple-columns,Python,Pandas,Dataframe,Multiple Columns,ex) 我正在合并列,但我希望在合并过程中提供'\n\n' 所以输出我想要的 C1 C2 C3 C4 C5 C6 0 A B nan C A nan 1 B C D nan B nan 2 D E F nan C nan 3 nan nan A nan nan B 我想让‘楠’停下来 我试过了 C 0 A B C A 1 B C D B 2 D

ex)

我正在合并列,但我希望在合并过程中提供'\n\n'

所以输出我想要的

   C1  C2  C3  C4  C5  C6
0  A   B   nan C   A   nan
1  B   C   D   nan B   nan
2  D   E   F   nan C   nan
3  nan nan A   nan nan B
我想让‘楠’停下来

我试过了

   C
0  A  

   B  

   C

   A
1  B  

   C  

   D

   B
2  D  

   E  

   F

   C
3. A

   B
但是,这包括所有nan值

感谢阅读。

用于序列,misng值将被删除,因此您可以聚合
加入

df['merge'] = df['C1'].map(str) + '\n\n' + tt['C2'].map(str) + '\n\n' + tt['C3'].map(str) + '\n\n' + df['C4'].map(str)
或通过按行联接删除缺少的值,方法是:



为什么不在合并前用空字符串替换NAN?这是一个示例数据示例,每行的实际列数不同!我将编辑数据样本。
df['merge'] = df.stack().groupby(level=0).agg('\n\n'.join)
#for filter only C columns
df['merge'] = df.filter(like='C').stack().groupby(level=0).agg('\n\n'.join)
df['merge'] = df.apply(lambda x: '\n\n'.join(x.dropna()), axis=1)
#for filter only C columns
df['merge'] = df.filter(like='C').apply(lambda x: '\n\n'.join(x.dropna()), axis=1)
print (df)
    C1   C2   C3   C4   C5   C6             merge
0    A    B  NaN    C    A  NaN  A\n\nB\n\nC\n\nA
1    B    C    D  NaN    B  NaN  B\n\nC\n\nD\n\nB
2    D    E    F  NaN    C  NaN  D\n\nE\n\nF\n\nC
3  NaN  NaN    A  NaN  NaN    B            A\n\nB