Pandas groupby ранг дата время - PullRequest
0 голосов
/ 12 ноября 2018

У меня проблема с ранжированием дат. Допустим, у меня есть следующая таблица.

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

и я хочу добавить еще один столбец для ранжирования таблицы по времени для каждого идентификатора и группы. Я использовал

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

но получите ошибку:

'NoneType' object is not callable

Если я заменю datetime на числа, это сработает .... какие-нибудь решения?

1 Ответ

0 голосов
/ 12 ноября 2018

Для меня работает конвертировать столбец в datetime, чтобы избежать вашей ошибки.

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
...