Сгруппировать и связать струны с пандами - PullRequest
0 голосов
/ 25 июня 2019

UPD: ошибка связана с наличием NaN в столбце «Соседство». Есть ли решение, чтобы игнорировать их?

У меня есть набор данных с 3 столбцами: почтовый индекс, городской округ, район. В одной области почтового индекса может существовать более одного района. Эти строки необходимо объединить в один ряд с окрестностями, разделенными запятой.

Что я пробовал:

df.groupby(['Postcode', 'Borough'])['Neighborhood'].apply(lambda neighborhood: ','.join(neighborhood))

или

 df.groupby(['Postcode', 'Borough'])['Neighborhood'].apply(','.join).reset_index()

Каждый раз, когда я получаю эту ошибку: «Ошибка типа: элемент последовательности 0: ожидаемый экземпляр str, найден float»

df.groupby(['Postcode', 'Borough'])['Neighborhood'].apply(lambda group_series: group_series.tolist()).reset_index()

Добавляет список в виде значений строк, что близко, но не совсем то, что мне нужно. Пожалуйста помоги? (типы данных ниже к сведению) ..

df.dtypes

Postcode        object
Borough         object
Neighborhood    object
dtype: object

1 Ответ

0 голосов
/ 25 июня 2019

Как насчет:

df.dropna(subset=['Neighborhood']).groupby(['Postcode', 'Borough'])['Neighborhood'].apply(','.join)

Это приведет к сбросу значений NaN в столбце окрестностей перед выполнением операции группировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...