gpt4 book ai didi

Python:Pandas 将每一行连接成一个字符串

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:46 30 4
gpt4 key购买 nike

我有以下 Pandas 数据框:

df=pd.DataFrame({0:["a","b","c","d"], 1:["e","f","g",None], 2:["h",None,None,None]})

0 1 2
0 a e h
1 b f None
2 c g None
3 d None None

我想创建一个包含一列的新 DataFrame,其中每一行都是一个连接的字符串,带有分隔符“,”:

       0
0 a,e,h
1 b,f
2 c,g
3 d

对于单行我可以使用

df.iloc[0,:].str.cat(sep=",")

但是我怎样才能将它应用于整个 DataFrame,而不使用 for 循环(如果可能)

最佳答案

默认情况下,堆叠会删除空值。在 level=0

上使用 groupby 跟进
df.stack().groupby(level=0).apply(','.join)

0 a,e,h
1 b,f
2 c,g
3 d
dtype: object

要复制 OP 的输出,请使用 to_frame

df.stack().groupby(level=0).apply(','.join).to_frame(0)

0
0 a,e,h
1 b,f
2 c,g
3 d

关于Python:Pandas 将每一行连接成一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51266232/

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