代码之家  ›  专栏  ›  技术社区  ›  daiyue

pandas typeerror:使用nunique比较datetime64时类型比较无效

  •  0
  • daiyue  · 技术社区  · 6 年前

    nunique datetime64 ,但有错误,

    TypeError: invalid type comparison
    

    在密码上,

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

    我试着检查 日期时间64 值都是一样的。这个 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 回复  |  直到 6 年前
        1
  •  1
  •   cs95 abhishek58g    6 年前

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

    解决办法是 努尼克 字符串数据比较:

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

    其余的照常从这里开始。