我希望每分钟重新采样我的数据,并找出我的数据每分钟通过多少次失败。
当前这是数据的样子:
timeStamp Results
1589443200000 Pass
1589443201000 Fail
1589443202000 Pass
1589443203000 Pass
1589443204000 Pass
1589443321000 Pass
1589443325000 Fail
即时消息如下:
time Result Count
8:01:00 Pass 4
8:01:00 Fail 1
8:02:00 Pass 1
8:02:00 Fail 1
首先通过to_datetime
将unix时间转换为日期时间,然后使用to_datetime
将GroupBy.size
的计数合计:
GroupBy.size
或者如果要Grouper
和时间乘Grouper
:
df['timeStamp'] = pd.to_datetime(df['timeStamp'], unit='ms')
df1 = (df.groupby([pd.Grouper(key='timeStamp', freq='Min'), 'Results'])
.size()
.reset_index(name='Count'))
print (df1)
timeStamp Results Count
0 2020-05-14 08:00:00 Fail 1
1 2020-05-14 08:00:00 Pass 4
2 2020-05-14 08:02:00 Fail 1
3 2020-05-14 08:02:00 Pass 1