今
日
鸡
汤
尔曹身与名俱灭,不废江河万古流。
大家好,我是皮皮。
一、前言
前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个工作中Python自动化处理实战问题,一起来看看吧。问题描述:
数据在提供的数据表中,在表有编号、环节、审核人、金额、结束时间5列,对【编号、环节、审核人、金额】四条件进行分组,分组内结束时间升序排列,分组内结束时间相差20秒以内的,只保留第一条记录。
大佬再请问下 分组内结束时间相差20秒以内的,只保留第一条记录 这个怎么实现? 这个做出来的老是有问题 有个窗口函数 用了数据又对不太上。
上一篇文章【小小明】给出了自己的解答,这一篇文章我们一起来看看【小小明】大佬基于这个需求,做的引申。
二、实现过程
【隔壁山楂】在这有个疑问,同一个分组内有三个时间,2023-11-27 15:50:00,2023-11-27 15:50:05,2023-11-27 15:50:25,按你这个下来应该剩几个时间?粉丝回答是第1个和第3个。最终效果是:实现分组内任意2个时间点时间差都是大于20s。
【小小明】大佬这里考虑到了上面【隔壁山楂】的疑问,做了特殊情况的引申:下面增加这三行数据进行测试。
代码运行之后,结果对比如下:
得到的结果是3395行了。
而最开始的结果是3394行。
顺利地解决了粉丝的问题。
样本数据还不够 这种情况实际上也是有这个情况的 这个样本是拿到的一个测试题 和日常的实操有点接近 拿出去问问大佬们 学习学习经验。
三、总结
大家好,我是皮皮。这篇文章主要盘点了一个工作中Python自动化处理实战问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
领取专属 10元无门槛券
私享最新 技术干货