Группировка данных для завершения записи между собой - PullRequest
3 голосов
/ 31 января 2020

У меня есть задача, где мне нужно очистить свои данные с помощью дубликатов записей, но в то же время заполнить эти ячейки с помощью значений Nan с такими же именами, например:

id          id2      name   other_n        date       country
1.177.002   nan test_name    nan     8 decembre 1981    usa
1.177.002   A   test_name   ALVA        nan             nan 

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

tst.groupby('name').mean()
tst.groupby('name').sum()

Результат, который я ищу, должен выглядеть примерно так:

id          id2      name   other_n        date       country
1.177.002   A   test_name    ALVA     8 decembre 1981   usa

1 Ответ

0 голосов
/ 01 февраля 2020

Run:

df.groupby('name', as_index=False)\
    .agg(lambda col: col.loc[col.first_valid_index()])\
    .reindex(df.columns, axis=1)

Окончательный reindex необходим, чтобы вернуть порядок столбцов к тому, как они упорядочены в исходном DataFrame. В противном случае имя будет перемещено на первое место

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