gpt4 book ai didi

python - 合并列有\n

转载 作者:行者123 更新时间:2023-12-04 10:21:27 25 4
gpt4 key购买 nike

前任)

   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

我正在合并列,但我想在合并过程中给出 '\n\n'。

所以输出我想要的
   C
0 A

B

C

A
1 B

C

D

B
2 D

E

F

C
3. A

B

我想要'nan'下降。

我试过
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 值。

谢谢你的阅读。

最佳答案

使用 DataFrame.stack 对于系列,缺失值被删除,因此您可以聚合 join :

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)
或者通过 Series.dropna 加入每行来删除缺失值:
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

关于python - 合并列有\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60825821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com