pandas-时间序列重构-resample
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas-时间序列重构-resample相关的知识,希望对你有一定的参考价值。
参考技术A同样也是上一篇练习遇到的函数,感觉有点儿复杂,这里学习下。
DataFrame.resample(self, rule, axis=0, closed: Union[str, NoneType] = None, label: Union[str, NoneType] = None, convention: str = \'start\', kind: Union[str, NoneType] = None, loffset=None, base: int = 0, on=None, level=None)
Resample time-series data
Convenience method for frequency conversion and resampling of time series. Object must have a datetime-like index (DatetimeIndex, PeriodIndex, or TimedeltaIndex), or pass datetime-like values to the on or level keyword.
这个函数是针对时间序列,对DataFrame进行重构
关于 date_range 可以参考上一篇: pandas - date_range
我们先创建个数据
这里,主要是需要指定一个重构的规则
resample就是根据2D,2D表示就是2天,也就是根据2天重新构建DataFrame
我们这里就调用sum函数,将符合这个规则的元素求和
我们来观察index,原来是1-10,现在变成1,3,5,7,9,也就是间隔2天一组
label参数
指定,我们使用哪一个作为新的label
closed参数
这个稍微有点儿奇怪
label的话,是说,我们重组了数据之后,会有多行记录进行合并,那应该取哪一行的label来显示呢?label就是用来指定这个的;
但是closed参数呢?
Which side of bin interval is closed. The default is ‘left’ for all frequency offsets except for ‘M’, ‘A’, ‘Q’, ‘BM’, ‘BA’, ‘BQ’, and ‘W’ which all have a default of ‘right’.
我们再来看一下原始数据:
我们来试试closed参数
默认是 closed=\'left\'
这里理解起来还是可以的,2天为一个间隔,label也默认是left
然后,我们来看看 closed=\'right\'
这里,我就有点儿疑惑了,数据的重组是我在Excel中用颜色标出来的,这个我可以理解,但是这个label,为什么往前多取了一个
有点儿奇怪,我得捋一捋
pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征
pandas使用resample进行不同粒度下的时间特征重构实战:构建时间维度统计特征
Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。
resample与groupby的区别:
resample:在给定的时间单位内重取样
groupby:对给定的数据条目进行统计
方法的格式是:
以上是关于pandas-时间序列重构-resample的主要内容,如果未能解决你的问题,请参考以下文章
Python 之 Pandas 生成时间戳范围Pandas 的时期函数 Period() 和时间序列 - 重采样 resample