我有一个数据存储,在那里我存储订单和收到订单的时间。
order_id time_placed
A1 2019-08-01 06:09:55.670712
A2 2019-08-01 06:09:55.687803
A3 2019-08-01 07:27:21.236759
A4 2019-08-01 07:27:21.256607
A5 2019-08-01 07:27:21.272751可能有订单,但数据文件包含月份的订单。我想知道这个月我收到的订单最多的时间。我试着制作了这样的系列。
orders = pd.Series(order_list['order_id'].tolist(), index=order_list['time_placed'])这样我就可以按小时分组
orders.groupby(orders.index.hour)但这是没有意义的,因为我想得到的时间,我收到最多的订单。我怎样才能做到这一点?
发布于 2019-09-04 10:23:29
我想知道我收到最多订单的时间
下面是使用Series.value_counts的好方法,因为在默认情况下,按计数进行排序。
df['time_placed'] = pd.to_datetime(df['time_placed'])
s = df.time_placed.dt.hour.value_counts()
print (s)
7 3
6 2
Name: time_placed, dtype: int64因此,对于高峰时段,请选择第一个索引值:
h = s.index[0]
print (h)
7对于最高值,选择Series的第一个值
no = s.iat[0]
print (no)
3https://stackoverflow.com/questions/57786217
复制相似问题