Как вернуть время, которое не отображается в столбце, через pandas? - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть таблица Excel с заказами за несколько лет. Один столбец - «Дата заказа». Я хочу вернуть таблицу с наиболее распространенными значениями HH: MM (не: SS), которые не отображаются , в определенных параметрах (например,> 10:00, после часов работы и <23:00 до закрытия) ). </p>

Мне трудно это осмыслить, и в прошлом мне очень помогли получить здесь помощь. Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2020

Предположим, что ваш DataFrame содержит что-то вроде следующего:

      Order Date Time  Amount
0 2020-01-02 10:00:00      62
1 2020-01-02 10:46:43      18
2 2020-01-02 11:38:15      56
3 2020-01-02 11:55:37      34
4 2020-01-02 12:46:22      41
5 2020-01-02 13:00:34      61
6 2020-01-02 13:58:08      46
7 2020-01-02 14:32:45      38
8 2020-01-02 14:44:31      12
9 2020-01-02 15:08:44      39
...

, то есть:

  • Дата заказа Время - дата / время события, типа datetime (если вы читаете его как string , вы конвертируете его, вызывая pd.to_datetime ),
  • Amount (и, возможно, другие столбцы) - данные, относящиеся к каждому заказу.

Результат можно получить следующим образом:

  1. Создать временный кадр данных со строками Выполнение вашего условия:

    df2 = df['Order Date Time'].dt.hour.between(10, 22)
    
  2. Установите количество наиболее распространенных часов / минут:

    n = 10
    
  3. Вычислите фактический результат:

    df2.groupby(df['Order Date Time'].dt.strftime('%H:%M')).size()\
        .sort_values(ascending=False).head(n)
    

Подробности:

  • df2.groupby(...) - группировка заказов по часам / минутам (без учета секунд и части даты),
  • size() - вычислить размер каждой группы,
  • sort_values(...) - сортировка (в порядке убывания),
  • head(n) - получить верхние значения n .

Для моих рабочих данных я получил: * 105 9 *

Order Date Time
10:00     20
22:51     17
19:04     15
13:24     15
13:50     14
13:10     14
12:58     14
15:29     14
19:17     13
18:03     13
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...