Pandas повторная выборка данных в двух двух столбцах - PullRequest
0 голосов
/ 30 марта 2020

У меня есть датафрейм с datetime, который я хочу изменить на 20 минут и посчитать для всех групп «name» количество уникальных значений, указанных в столбце «trip».

    name            Date         trip
0     4 2019-08-22 00:44:51      1
1     4 2019-08-22 00:45:40      1
2     4 2019-08-22 01:45:52      2
3     4 2019-08-22 01:44:51      2
4     4 2019-08-22 01:45:40      2
5     5 2019-08-22 01:45:52      3
6     5 2019-08-22 01:45:59      3

Желаемый результат выглядит :

Date                    Trip count
2019-08-22 00:40:00     1   
2019-08-22 01:00:00     0
2019-08-22 01:20:00     0
2019-08-22 01:40:00     2
2019-08-22 02:00:00     0

Таким образом, поездка равна 1, потому что существует только 1 поездка (от имени = 4) между 00:40:00 и 01:00. Поездка 2, потому что есть 2 поездки (от имени = 4 и имени = 5) между 01:40:00 и 02:00. Счетчик поездок равен 0 иначе

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Вы хотите set_index с DataFrame.resample и nunique из trip:

# df['Date'] = pd.to_datetime(df['Date'], infer_datetime_format=True)
dfn = df.set_index('Date').resample('20T')['trip'].nunique().reset_index(name='Trip count')

                 Date  Trip count
0 2019-08-22 00:40:00           1
1 2019-08-22 01:00:00           0
2 2019-08-22 01:20:00           0
3 2019-08-22 01:40:00           2
1 голос
/ 30 марта 2020
...