我尝试在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
我想知道如何修复错误。
答案 0 :(得分:1)
我认为这是一个问题,因为nunique
的结果输出被强制转换为日期时间以保留dtype。如果你问我,不应该发生。
解决方法是对字符串数据进行nunique
比较:
df.date.astype(str).groupby(df.group_id).transform('nunique')
其余的就像往常一样。