pandas TypeError: invalid type comparison when comparing datetime64 when using nunique

pandas TypeError: invalid type comparison when comparing datetime64 when using nunique

我尝试在 datetime64 上使用 nunique,但出现错误,

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

我想知道如何修复错误。

我认为这是一个问题,因为 nunique 的结果输出被强制为 datetime 以保留 dtype。如果你问我,应该不会发生。

解决方法是对字符串数据进行 nunique 比较:

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

其余的照常从这里开始。