如何在Pandas Pivot表中使用组功能

时间:2018-04-02 09:02:36

标签: pandas pivot grouping

我有一个hh:mm:ss.ms格式的时间字段。我正在使用此时间字段作为索引创建数据透视表。我想以12:30到13:30,13:30:14:30等开始范围进行分组。

示例:

ActualTime 12:30
12:31
12:46
13:05
13时22
13:48
14:05

1 个答案:

答案 0 :(得分:0)

您可以将cuttimedelta一起使用,范围使用timedelta_range

df['ActualTime'] = pd.to_timedelta(df['ActualTime'].astype(str) + ':00')
b  = pd.timedelta_range('0', '24:00:00', freq='30T')

lab = [ str(i)[-8:-3] + ' - '+str(j)[-8:-3] for i,j in zip(b[:-1], b[1:]) ]
df['a'] = pd.cut(df['ActualTime'], bins=b, labels=lab)
print (df)
  ActualTime              a
0   12:30:00  12:00 - 12:30
1   12:31:00  12:30 - 13:00
2   12:46:00  12:30 - 13:00
3   13:05:00  13:00 - 13:30
4   13:22:00  13:00 - 13:30
5   13:48:00  13:30 - 14:00
6   14:05:00  14:00 - 14:30