其他
本次介绍pandas时间统计分析的一个高级用法--重采样。以下是内容展示,完整数据、代码和500页图文可戳👉《pandas进阶宝典V1.1.6》进行了解。重采样指的是时间重采样,就是将时间序列从一个频率转换到另一个频率上,对应数据也跟着频率进行变化。比如时间序列数据是以天为周期的,通过重采样我们可以将其转换为按分钟、小时、周、月、季度等等的其他周期上。根据转换的频率精度可分为向上采样和向下采样。向上采样:转换到更细颗粒度的频率,比如将天转为小时、分钟、秒等向下采样:转换到更粗颗粒度的频率,比如将天转为周、月、季度、年等resample用法pandas中时间重采样的方法是resample(),可以对series和dataframe对象操作。由于重采样默认对索引执行变换,因此索引必须是时间类型,或者通过on指定要重采样的时间类型的column列。用法:pandas.DataFrame.resample()pandas.Series.resample()------返回:Resampler对象参数:rule:定义重采样的规则,DateOffset,Timedelta或str类型,当为str类型时,其参数及含义如下表所示axis:指定轴方向,str类型,默认为00:代表索引1:代表列closed:指定时间频率分组的左右闭合状态,默认M,A,Q,BM,BA,BQ,W右闭合,其余均是左闭合left:指定左闭合right:指定右闭合label:指定左或右边界作为分组标签,默认M,A,Q,BM,BA,BQ,W以右边界为分组标签,其余均是以左边界为分组标签left:以左边界为分组标签right:以右边界为分组标签kind:将结果索引转化为指定的时间类型timestamp:将结果索引转换为DateTimeIndexperiod:将结果索引转换为PeriodIndexon:对于dataframe,指定被重采样的列,且列必须是时间类型level:对于多级索引,指定要被重采样的索引层级,int或str类型。int:索引层级str:索引层级名称origin:调整时间分组的起点。Timestamp或str类型,当为str时:epoch:1970-01-01start:时间序列的第一个值start_day:时间序列第一天的午夜end:时间序列的最后一个值end_day:最后一天的午夜offset:对origin添加的偏移量,Timedelta或str类型group_keys:指定是否在结果索引包含分组keys,当采样对象使用了.apply()方法,默认False不包含举例:1)指定列名resample默认只对索引对象操作,换句话说,默认情况下索引必须是时间类型的数据,否则执行会报错。对于dataframe而言,如不想对索引重采样,可以通过on参数选择一个column列代替索引进行重采样操作。#