gpt4 book ai didi

python - 如何将数据帧行合并为单行,所有行值都为每列连接?

转载 作者:行者123 更新时间:2023-12-04 09:08:01 24 4
gpt4 key购买 nike

我有一个 df 像:

  | col1  | col2   | col3
0 | Text1 | a,b ,c | klra-tk³,t54 ?
1 | Text2 | NaN | gimbal3, gimbal4
2 | Text3 | a,k,m | NaN
我想在一行中获取包含列的所有唯一值的一行,并且忽略 NaN,例如:
  | col1                | col2      | col3
0 | Text1, Text2, Text3 | a,b,c,k,m | klra-tk³,t54,gimbal3, gimbal4
我怎么能用 Pandas 做到这一点?

最佳答案

使用自定义函数 Series.str.split , DataFrame.stack , 通过 Series.drop_duplicates 删除重复项并通过 Series.dropna 删除缺失值, 最后加入 ,并转换 Series到一行 DataFrame Series.to_frame 并转置:

f = lambda x: ','.join(x.str.split(',', expand=True).stack().drop_duplicates().dropna())
df = df.apply(f).to_frame().T
print (df)
col1 col2 col3
0 Text1,Text2,Text3 a,b,c,k,m klra-tk,t54,gimbal3,gimbal4
或者使用列表理解,如:
f = lambda x: ','.join(x.str.split(',', expand=True).stack().drop_duplicates().dropna())
df = pd.DataFrame([[f(df[x]) for x in df.columns]], columns=df.columns)

关于python - 如何将数据帧行合并为单行,所有行值都为每列连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63410168/

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