代码之家  ›  专栏  ›  技术社区  ›  Umar.H

在pandas python中连接字符串数据

  •  1
  • Umar.H  · 技术社区  · 7 年前

    晚上的伙计们,

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

    我有一个表单输出的csv。如果为if/else,则任何子问题的输出都已在新列中输出。

    由于大多数形式都是儿童问题,我想写一个小脚本来做以下工作。

    1.删除无关列 2.第二步。按分隔符连接其余列。('、') 三。通过添加步骤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
    

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

    任何帮助都将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  3
  •   jezrael    7 年前

    使用 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