近期思考这个系列,是把我在工作时、上下班的地铁上,所思所想所惑之处,自问自答的写出来。
虽然不知道未来的路在哪里,还是要给自己信心吧,相信自己比随波逐流更难得可贵吧。
①当地时间,本地时间
在业务上涉及到国际业务,有时候为了统一口径,我们会划拨两类时间,一个是北京时间,一个是对应的各国时间。
Q:但在最近分析的过程中,发现营销数据突然下降的很异常,觉得不太现实,就看看数据来源有没有出错。
A:发现原来是因为统一口径的问题,换算成北京时间看,数据是下降的,但业务时间上数据是正常的,这就是为什么处理数据前要先核实一下取数时间,取数范围。
②pd.cut
Q:之前发了两篇实战,介绍打标签的for循环,但现实中数据量过大,导致千万以上的循环耗时很久,用之前那种方式效率太差。
A:发现了个更简单的方式:
pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')
x:被切分的类数组(array-like)数据,必须是1维的(不能用DataFrame);
bins:bins是被切割后的区间(或者叫“桶”、“箱”、“面元”)
right:bool型参数,默认为True,表示是否包含区间右部。比如如果bins=[1,2,3],right=True,则区间为(1,2],(2,3];right=False,则区间为(1,2),(2,3)。
labels:给分割后的bins打标签。labels的长度必须和划分后的区间长度相等,比如bins=[1,2,3],划分后有2个区间(1,2],(2,3],则label