Pandas groupby 排名日期时间

2023-11-26

我遇到了关于日期时间排名的问题。可以说我有下表。

ID    TIME
01    2018-07-11 11:12:20
01    2018-07-12 12:00:23
01    2018-07-13 12:00:00
02    2019-09-11 11:00:00
02    2019-09-12 12:00:00

我想添加另一列来按每个 ID 和组的时间对表进行排名。我用了

df['RANK'] = data.groupby('ID')['TIME'].rank(ascending=True)

但出现错误:

'NoneType' object is not callable

如果我将日期时间替换为数字,它会起作用......有什么解决方案吗?


对于我来说,将列转换为日期时间以避免您的错误。

data['TIME'] = pd.to_datetime(data['TIME'])
data['RANK'] = data.groupby('ID')['TIME'].rank(ascending=True)
print (data)
   ID                TIME  RANK
0   1 2018-07-11 11:12:20   1.0
1   1 2018-07-12 12:00:23   2.0
2   1 2018-07-13 12:00:00   3.0
3   2 2019-09-11 11:00:00   1.0
4   2 2019-09-12 12:00:00   2.0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas groupby 排名日期时间 的相关文章

随机推荐