首页 > 解决方案 > 在 Pandas Python 中连接字符串数据

问题描述

晚上小伙子们,

快速一个,在数据框中连接字符串的最佳方法是什么?

我有一个 CSV,它是表单的输出。符合 if/else 形式的任何子问题的输出都已在新列中输出。

由于大部分表格都是儿童问题,我想编写一个小脚本来执行以下操作。

1,删除不相关的列 2. 通过分隔符连接剩余的列。(',') 3. 通过添加步骤 1 中的合并列和不相关列来创建新的 DF。

我的尝试:

import pandas as pd
import os
enter code here
df = pd.read_csv('survey.csv')

df
  Qual, Qual2,  Qual3, Qual4, Qual5, Qual6
0 IT    Digital NaN    NaN    NaN    NaN
1 NaN   NaN     Maths  NaN    NaN    NaN

df['Combined_Data'] = df.fillna('').astype(str).sum(axis=1)

df:
  Qual, Qual2,  Qual3, Qual4, Qual5,  Qual6 Combined Data
0 IT    Digital NaN    NaN    NaN     NaN   ITDigital
1 NaN   NaN     Maths  NaN    Algebra NaN   MathsAlgebra

我不确定如何在每个总和之间添加一个 , 或者实际上 sum 是否是正确的方法..?可能不是。但这是我在几次谷歌搜索后发现的。

非常感激任何的帮助。

标签: pythonpandas

解决方案


apply与 一起使用dropna

df['Combined_Data'] = df.apply(lambda x: ', '.join(x.dropna()), axis=1)
print (df)
  Qual,   Qual2, Qual3,  Qual4,  Qual5,    Qual6   Combined_Data
0    IT  Digital    NaN     NaN     NaN      NaN     IT, Digital
1   NaN      NaN  Maths     NaN     NaN  Algebra  Maths, Algebra

推荐阅读