Pandas-合并重采样值(续)

问题描述 投票:0回答:1

我希望每分钟重新采样我的数据,并找出我的数据每分钟通过多少次失败。

当前这是数据的样子:

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
python pandas
1个回答
1
投票

首先通过to_datetime将unix时间转换为日期时间,然后使用to_datetimeGroupBy.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
© www.soinside.com 2019 - 2024. All rights reserved.