Объединить столбцы в строки, игнорируя None - PullRequest
0 голосов
/ 13 апреля 2020

Это тот кадр данных, который у меня есть:

list = [['man walks', 'slowly', 'back'], ['slowly','None', 'None'], ['sunny','sons','None']]
df1 = pd.DataFrame(list)

, который приводит к этому кадру данных

    0             1      2
0   man walks   slowly  back
1   slowly      None    None
2   sunny       sons    None

Как мне добавить содержимое каждой строки ТОЛЬКО ЕСЛИ значение не равно None? Желаемый результат - это еще одна колонка, которая выглядит следующим образом:

    Sum
0  man walks slowly back 
1  slowly
2  sunny sons

Большое вам спасибо!

1 Ответ

1 голос
/ 13 апреля 2020

Эти None на самом деле являются строками в вашем примере. Предполагая, что они действительно None, вы можете использовать stack (который по умолчанию удаляет пропущенные значения), groupby и агрегировать с join:

df1.stack().groupby(level=0).agg(' '.join)

0    man walks slowly back
1                   slowly
2               sunny sons
dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...