Объединение дублирующихся данных в единственном фрейме данных - PullRequest
0 голосов
/ 06 февраля 2019

Я использую библиотеку панд

У меня большая база данных с сотнями частичных дубликатов данных (один или два столбца одинаковы, но один из двух содержит дополнительную информацию).Я хочу объединить дублированные экземпляры, сохранив при этом строку с наибольшим количеством информации.Я могу только выяснить, как объединить две базы данных, а не данные в единой базе данных.

Пример:

Col 1: Name, Col 2: Age, Col 3: Other, Col 4: Other, Col 5: Other

Row1   Aaron Miser, 32, Plumber, 4 Children, NaN
Row2   Aaron Miser, 32, NaN, NaN, NaN        
Row3   Aaron Miser, 32, NaN, NaN, NaN, likes football  

Мне нужно идентифицировать дубликаты столбца 1 (в этом примере Aaron Miser), а затем объединить дублирующиеся экземпляры, чтобы теперь в объединенной строке было больше данных для дублированияпример.Таким образом, есть только 1 оставшийся ряд, и теперь он показывает всю доступную информацию:

Аарон Мизер, 32 года, сантехник, 4 детей, любит футбол

1 Ответ

0 голосов
/ 06 февраля 2019

Это должно сделать это:

df.groupby('Name').apply(lambda series: series.fillna(method='ffill').fillna(method='bfill'))

Если вы хотите удалить дубликаты и сбросить индекс, добавьте .drop_duplicates().reset_index(drop=True) после этого.

Примечание: это предполагает, что в столбце Name указан уникальный ключ, и что в нем нет строк с конфликтующей информацией.

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