Объединить строковые данные в Pandas Python - PullRequest
0 голосов
/ 05 июля 2018

Вечерние парни,

один быстрый, каков наилучший способ объединения строк в кадре данных?

У меня есть CSV, который выводится из формы. В соответствии с формой if / else выходные данные для любых дочерних вопросов выводились в новых столбцах.

Поскольку большая часть формы - это вопросы для детей, я хочу написать небольшой скрипт для следующего:

1, нерелевантные столбцы 2. Объединить оставшиеся столбцы с помощью разделителя. ( '') 3. Создайте новый DF, добавив объединенные столбцы и ненужные столбцы из шага 1.

моя попытка:

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

Я не уверен, как добавить a, между каждой суммой, или если на самом деле сумма является правильным способом сделать это ..? возможно нет. но это то, что я нашел после нескольких поисков в Google.

любая помощь будет наиболее ценной.

1 Ответ

0 голосов
/ 05 июля 2018

Использование 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...