定期找些简单练习作为 pandas 专栏的练习题
如下一份停车场数据:
需要以下结果:
共2个需求:
需求1:停车次数(蓝色行):一天中,每个停车位分别有多少不同的车停放,如下:
需求2:连续停车小时(白色行):由于有些车是停放多于1小时才开走,统计一天中,连续停放n(1至10)小时的数量
如下:
导入库与加载数据:
按理解,可以描述为"不同车牌数量",相当于去重复后的车牌数。
因此代码非常简单:
按理解,我们需要首先统计每个车牌的出现次数,分组统计即可:
基于这个结果,统计每一种次数的计数即可:
把这个过程定义为一个函数:
最后,通过 apply 就能处理所有的列:
但是,我们需要的是1至10的结果,怎么办?
reindex 就是为了这种场景而设计:
结果:
之后只是合并2个需求结果输出 Excel 即可,具体看源码
但是,结果真的对吗?!!!
看看第5个停车点:
但是我们的结果是:
原来,我们的统计过程只是简单的按车牌分组统计,却没有考虑连续问题。
也就是说我们的处理过程根本没有反映需求中的"连续"的意义
怎么办?我也想不到,希望大家给点建议
或者看看专栏关于"波动走势处理"的相关章节,说不定找到答案
下节解答。