pandas TypeError: недопустимое сравнение типов при сравнении datetime64 при использовании nunique - PullRequest
0 голосов
/ 30 мая 2018

Я пытался использовать nunique на datetime64, но получил ошибку,

TypeError: invalid type comparison

в коде,

np.where(df.groupby('group_id')['payment_date'].transform('nunique') == 1, 0, 10)

Я пытался проверить, если datetime64 значения все одинаковые.df выглядит так:

group_id    date
   1        2017-10-01
   1        2017-10-02
   1        2017-10-03
   1        2017-10-03
   2        2017-11-01
   2        2017-10-15
   2        2017-11-05

Мне интересно, как исправить ошибку.

1 Ответ

0 голосов
/ 30 мая 2018

Я думаю, что это проблема с тем фактом, что результирующий вывод nunique приведен к datetime, чтобы сохранить dtype.Не должно произойти, если вы спросите меня.

Обходной путь должен сделать сравнение nunique строковых данных:

df.date.astype(str).groupby(df.group_id).transform('nunique')

Остальное следует как обычно.

...