为了账号安全,请及时绑定邮箱和手机立即绑定

GroupBy和Pandas中的聚合函数

GroupBy和Pandas中的聚合函数

炎炎设计 2021-04-07 13:11:13
我有一个如下的时间序列数据集。我想将其拆分为多个20个bin,获取每个bin中的最小和最大时间戳,并根据是否至少有1个成功结果向每个bin添加一个标志(成功:result = 0;失败:result = 1)data = [{"product": "abc", "test_tstamp": 1530693399, "result": 1},    {"product": "abc", "test_tstamp": 1530693405, "result": 0},    {"product": "abc", "test_tstamp": 1530693410, "result": 1},    {"product": "abc", "test_tstamp": 1530693411, "result": 0},    {"product": "abc", "test_tstamp": 1530693415, "result": 0},    {"product": "abc", "test_tstamp": 1530693420, "result": 0},    {"product": "abc", "test_tstamp": 1530693430, "result": 0},    {"product": "abc", "test_tstamp": 1530693431, "result": 0}]我可以使用pandas.cut()将数据切割为20秒的间隔,并获取每个bin的最小和最大时间戳import numpy as npimport pandas as pdarange = np.arange(1530693398, 1530693440, 20)data = [{"product": "abc", "test_tstamp": 1530693399, "result": 1},    {"product": "abc", "test_tstamp": 1530693405, "result": 0},    {"product": "abc", "test_tstamp": 1530693410, "result": 1},    {"product": "abc", "test_tstamp": 1530693411, "result": 0},    {"product": "abc", "test_tstamp": 1530693415, "result": 0},    {"product": "abc", "test_tstamp": 1530693420, "result": 1},    {"product": "abc", "test_tstamp": 1530693430, "result": 1},    {"product": "abc", "test_tstamp": 1530693431, "result": 1}]df = pd.DataFrame(data)df['bins'] = pd.cut(df['test_tstamp'], arange)output_1 = df.groupby(["bins"]).agg({'result': np.ma.count, 'test_tstamp': {'mindate': np.min, 'maxdate': np.max}})                         test_tstamp               result                         maxdate     mindate       countbins                                                   (1530693398, 1530693418]  1530693415  1530693399      5(1530693418, 1530693438]  1530693431  1530693420      3并能够找到result success和result failed使用groupby()我不确定如何组合output_1,output_2因此result count我想使用而不是上面的列result success,result failed并将flag列与each关联bin。任何指针都会有所帮助!谢谢!
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信