Как изменить порядок кодов в категориях данных панд? - PullRequest
0 голосов
/ 25 октября 2019

Я работаю над созданием кодов для клиентов и мне интересно узнать, могу ли я изменить порядок индекса созданного кода.

    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

Пожалуйста, помогите, и спасибо за чтение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...