Pandas: преобразовать столбец для объединения уникальных элементов - PullRequest
0 голосов
/ 29 мая 2020

Я делаю группировку в Pandas, чтобы объединить данные, однако я хочу включить только уникальные элементы в столбец.

Я сейчас использую:

df.groupby(['Col1','Col2'])['Grade'].transform(lambda x: ','.join(x))

, который будет произвести:

Col1   Col2   Grade
1      1      A-,A-,B+
1      2      A,B,B-,B-
2      1      B,C,C,D
...

Как мне выполнить соединение только для уникальных элементов столбца оценки, чтобы мой результат выглядел так:

Col1   Col2   Grade
1      1      A-,B+
1      2      A,B,B-
2      1      B,C,D
...

1 Ответ

1 голос
/ 29 мая 2020

Используйте set, чтобы удалить дубликаты в вашей агрегации:

df.groupby(['Col1','Col2'])['Grade'].transform(lambda x: ','.join(set(x)))

Или, чтобы сохранить правильный порядок, используйте np.unique:

df.groupby(['Col1','Col2'])['Grade'].transform(lambda x: ','.join(np.unique(x)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...