熊猫在两两列内重新采样数据

时间:2020-03-30 10:35:21

标签: pandas count resampling

我有一个日期时间要重采样到20分钟的数据框,并为所有组“名称”计数“行”列中给出的唯一值的数量。

    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,因为在00:40:00到01:00之间只有1次行程(从name = 4开始)。 行程为2,因为在01:40:00和02:00之间有2次行程(从name = 4和name = 5)。 行程计数为0,否则

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您想要set_indexDataFrame.resample中的nuniquetrip

# 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