《利用Python进行数据分析》 11.6 重新采样和频率转换(二)

11.6 重新采样和频率转换


11.6.2 向上采样和插值


1.向上采样:从低频率转换到高频率,不需要聚合

示例:带有每周数据的DataFrame(见图11-1)

       当对这些数据使用聚合函数时,每一组只有一个值,并且会在间隙中产生缺失值。我们使用asfreq方法在不聚合的情况下转换到高频率。

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第1张图片
图11-1:asfreq方法

2.fillna和reindex方法中可用的填充或插值方法可用于重采样(见图11-2)

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第2张图片
图11-2:填充

:新的日期索引根本不需要与旧的索引重叠(见图11-3)

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第3张图片
图11-3:新的日期索引

11.6.3 使用区间进行重新采样


1.以区间为索引的数据进行采样与时间戳的情况类似,向下采样(如图11-4)

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第4张图片
图11-4:以区间为索引的数据进行采样

2.向上采样

向上采样更为细致,必须在重新采样前决定新频率中在时间段的哪一端放置数值,就像asfreq方法一样。convention参数默认值是’start',但也可以是'end'。(见图11-5)

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第5张图片
图11-5:向上采样

3.由于区间涉及时间范围,向上采样和向下采样就更为严格:

· 在向下采样中,目标频率必须是原频率的子区间。

· 在向上采样中,目标频率必须是原频率的父区间。

如果不满足这些规则,将会引起异常。这主要会影响每季度、每年和每周的频率。例如,根据Q-MAR定义的时间范围将只和A-MAR、A-JUN、A-SEP和A-DEC保持一致(见图11-6)

《利用Python进行数据分析》 11.6 重新采样和频率转换(二)_第6张图片
图11-6:Q-MAR定义的时间范围

你可能感兴趣的:(《利用Python进行数据分析》 11.6 重新采样和频率转换(二))