Я работаю над созданием кодов для клиентов и мне интересно узнать, могу ли я изменить порядок индекса созданного кода.
import pandas as pd
data = {
'dates' : ['2018-01-02T11:55:54', '2018-01-02T13:31:52',
'2018-01-02T13:34:38', '2018-01-02T13:38:30',
'2018-01-02T13:44:06'],
'clients' : ['peter', 'arnold','beto', 'peter', 'brandon']
}
df = pd.DataFrame(data)
out:
dates clients
0 2018-01-02T11:55:54 peter
1 2018-01-02T13:31:52 arnold
2 2018-01-02T13:34:38 beto
3 2018-01-02T13:38:30 peter
4 2018-01-02T13:44:06 brandon
Сначала я попытался отсортировать набор данных по дате изатем создайте индекс категориального кода, но он не сработал ...
df.dates = pd.to_datetime( df.dates )
#sorting df by date:
df.sort_values('dates', inplace = True)
df.clients = pd.Categorical( df.clients )
df['client_code'] = df.clients.cat.codes
Я ожидал, что результатом будет индекс «кодов», отсортированный по дате регистрации клиента, но это не так.
Ожидаемый результат:
dates clients client_code
0 2018-01-02 11:55:54 peter 0
1 2018-01-02 13:31:52 arnold 1
2 2018-01-02 13:34:38 beto 2
3 2018-01-02 13:38:30 peter 0
4 2018-01-02 13:44:06 brandon 3
Результат:
dates clients client_code
0 2018-01-02 11:55:54 peter 3
1 2018-01-02 13:31:52 arnold 0
2 2018-01-02 13:34:38 beto 1
3 2018-01-02 13:38:30 peter 3
4 2018-01-02 13:44:06 brandon 2
Пожалуйста, помогите, и спасибо за чтение ...