在Pandas Python中连接字符串数据

时间:2018-07-05 11:27:13

标签: python pandas

晚上,

很快,在数据帧中串联字符串的最佳方法是什么?

我有一个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

我不确定如何在每个和之间添加,或者实际上是否和是执行此操作的正确方法。可能不会。但这是我经过几次Google搜索后发现的。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

applydropna一起使用:

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