如何在Python Pandas中按时间间隔对数据进行分组
当你遇到时间序列分析时,按时间间隔对数据进行分组是非常明显的。时间序列是按时间顺序索引(或列出或绘制)的一系列数据点。最常见的是,一个时间序列是在连续的等距的时间点上采取的序列。
Pandas提供了两个非常有用的函数,我们可以用它们来分组我们的数据。
- resample()-这个函数主要用于时间序列数据。它是一个方便的方法,用于时间序列的频率转换和重新取样。 对象必须有一个类似日期的索引(DatetimeIndex、PeriodIndex或TimedeltaIndex),或者将类似日期的值传递给on或level关键字。重新取样在实际数据的基础上产生一个独特的取样分布。
语法 :
参数 :
- rule:代表目标转换的偏移字符串或对象
- axis : int, optional, default 0
- closed : {‘right’, ‘left’}
- label : {‘right’, ‘left’}
- convention :仅对PeriodIndex而言,控制是否使用规则的开始或结束。
- loffset : 调整重新采样的时间标签
- base:对于均匀划分为1天的频率,聚集的时间间隔的 “原点”。例如,对于 “5分钟 “的频率,基数可以从0到4。默认为0。
- on : _对于一个DataFrame,要使用列来代替索引进行重采样。列必须是类似于数据时间的。
- level : _对于一个MultiIndex,用于重采样的级别(名称或数字)。水平必须是类似日期的。
例子:每月增加的数量,每年增加的总金额。
- 分组 – 分组允许用户指定要在什么基础上分析数据。
语法:
参数:
- key:选择要分组的目标列
- level:目标索引的级别
- freq:如果目标列是一个类似日期的对象,则按指定频率分组
- axis:轴的名称或数量
- sort:启用排序功能
- label:用于标记的区间边界,只在传递freq参数时有效。
- convention:如果分组是PeriodIndex并且传递了freq参数。
- base:只在传递freq参数时有效。
- Ioffset:只在传递freq参数时起作用
- origin:时间戳,在此基础上调整分组。
- offset:在原点上增加的偏移时间点
步骤
- Import module
- 加载或创建数据
- 根据需要对数据重新取样
- 对数据进行分组
下面给出了使用这种方法的实现情况。
程序 :使用重采样进行汇总
输出:
程序:根据不同的时间间隔对数据进行分组
在第一部分,我们像重新取样那样分组(以天、月等为基础),然后以一个月内的商店类型为基础对数据进行分组,然后像重新取样那样进行汇总。
输出: