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')
其余的照常从这里开始。
我尝试在 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')
其余的照常从这里开始。