Панды: группировка строк по одному из нескольких индексов - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь создать список отдельных людей из таблицы, которая включает имена людей и несколько других слабо идентифицирующих столбцов.Я предполагаю, что если имя и еще один столбец равны, то строки относятся к одному и тому же человеку.Например, если в каждой строке в качестве имени указано «Джон Браун», они вполне могут ссылаться на двух разных людей, которые имеют это имя, но если в двух строках в качестве имени указано «Джон Браун» AND '123«В столбце А, тогда я предполагаю, что они ссылаются на одного и того же« Джона Брауна ».То же самое верно для столбцов B и C.

  • Идентификатор строки
  • Имя человека
  • Столбец A
  • Столбец B
  • Столбец C
  • PersonId (добавлен после группировки)

После генерации списка отдельных людей я хочу вставить столбец в исходную таблицу с указанием PersonId отдельного человекак чему относится этот ряд.

Мой вопрос: есть ли у Панд чистый и эффективный способ группировки с таким условием?Две строки находятся в группе, если [Имя, столбец A] равны ИЛИ [Имя, столбец Б] равны ИЛИ [Имя, столбец С] равны.

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

1 Ответ

0 голосов
/ 28 декабря 2018

Исходя из вашего описания, создается впечатление, что вы группируете дубликаты вместе.

Вы можете просто отбросить дубликаты, используя:

df.drop_duplicates()

Затем следует присвоение личного идентификатора.

...