m0_50978515 2021-02-13 15:45 采纳率: 0%
浏览 66
已结题

关于python generator生成器的问题

 

  • 写回答

1条回答 默认 最新

  • ProfSnail 2021-02-13 15:47
    关注
    def gen_outliers(metrics_iterable, lower_bound=160):
    	for each_iterator in metrics_iterable:
    		if each_iterator['processing_time'] > lower_bound:
    			yield each_iterator
    		else:
    			continue

    在我这里测试基本也没什么问题,你看看通过没有,如果没通过的话继续讨论。

     

    下面这段是测试用例,上面才是要用的那段代码。

    outliers_160 = pd.DataFrame(gen_outliers(test_data, lower_bound=160))
    print(outliers_160)
    assert len(outliers_160)==1, "wrong 160"
    
    outliers_150 = pd.DataFrame(gen_outliers(test_data, lower_bound=150))
    print(outliers_150)
    assert len(outliers_150)==2, "wrong 150"
    
    outliers_170 = pd.DataFrame(gen_outliers(test_data, lower_bound=170))
    print(outliers_170)
    assert len(outliers_170)==0, "wrong 170"
    

    输出的结果是:

      job_id  processing_time instance_id
    0    337            168.8     1349783
      job_id  processing_time instance_id
    0    336            150.8     1346846
    1    337            168.8     1349783
    Empty DataFrame
    Columns: []
    Index: []
    [Finished in 0.6s]

    没有assert出来的异常,应该没啥问题了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路