呆鸟译Py呆鸟的Python数据分析

活用 shift,10 秒搞定 500 万

2020-06-12  本文已影响0人  呆鸟的简书

Pandas 百问百答第 011 篇。

呆鸟云:“因受疫情影响,断更了好久,不过大家不用担心,只要呆鸟有心得,就会继续与大家分享,这个号不会黄的。这次先来一篇优化 pandas 计算效率的文章,希望大家喜欢。”

话说,前几天凤哥找我说要对几百万条数据先分组,再根据条件为每组里的数据加上序号, 据他说用循环的速度太慢了,要跑上一两个小时,这不是潘大师该有的表现,于是呆鸟尝试了一下,把处理 500 万条数据的速度压缩到了 10 秒以内,现总结如下:

背景

目标

知识点

思路

注意:每组的第 1 条数据对应序号肯定为 1

从第 2 条数据开始,判断与上一条数据间隔的日期是否为 4 天,怎么判断间隔日期呢?这里就用到了标题里提到的 shift(),将日期数据下移一行

这一步虽没什么技术含量,但思路非常重要,就是这种方式,使得计算速度大幅提升。

生成 500 万条模拟数据

生成模拟数据与解决方案

好了,今天的分享就到这里。

上一篇下一篇

猜你喜欢

热点阅读