Агрегирование строк на основе одного столбца с помощью "," .join - TypeError: элемент последовательности 0: ожидаемый экземпляр str, найден NoneType - PullRequest
0 голосов
/ 04 октября 2019

Я делаю что-то вроде

dfAgg =   df.groupby('col1').agg({'col2': (", ").join, 
                                  'col3':'first',
                                  'col4': sum,
                                }).reset_index()

и получаю

TypeError: элемент последовательности 0: ожидаемый экземпляр str, найден NoneType

В моем col2 нет значений. Есть ли способ игнорировать тех, у кого join?

1 Ответ

0 голосов
/ 04 октября 2019

Попробуйте с лямбда-выражением

custom_agg = lambda ar: ', '.join([item for item in ar if item])

dfAgg = df.groupby('col1').agg({'col2': custom_agg, 
                                  'col3':'first',
                                  'col4': sum,
                                }).reset_index()
...