Сообщение об ошибке при использовании nunique () с groupby - PullRequest
0 голосов
/ 14 февраля 2019

Я знаю, что было задано несколько вопросов относительно использования nunique () с groupby, но я получаю другое сообщение об ошибке.Следующий код работает нормально:

d = {'PDOS': [1, 1, 2, 2], 'CPT' : ["123", "123", "456", "456"], 'BC': ["A", "A", "A", "B"], 'Other': [1,2,3,4]}
df = pd.DataFrame(data = d)

df = df.merge(df[["PDOS", "CPT", "BC"]].groupby(["PDOS", "CPT"]).count(), how = "left", on = ["PDOS", "CPT"])

, и я получаю новый столбец ("BC_y"), который дает мне количество строк BC для каждой группы. Однако, если я изменю значение, то 1004 *

Последняя строка для использования nunique () выглядит следующим образом:

df = df.merge(df[["PDOS", "CPT", "BC"]].groupby(["PDOS", "CPT"]).nunique(), how = "left", on = ["PDOS", "CPT"])

Я получаю сообщение об ошибке:

Вы пытаетесь объединить столбцы объекта и int64.Если вы хотите продолжить, вы должны использовать pd.concat

Я думаю, причина может заключаться в том, что при использовании nunique () столбцы «PDOS» и «CPT» отображаются как индекс, а также столбцы.

Как получить количество уникальных значений вместо количества строк в группе?

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