本文主要介绍了熊猫中的重采样方法的详细说明,通过示例代码非常详细,对大家的学习或者工作有一定的参考价值。有需要的朋友下面跟边肖学习。
在Pandas中,重采样是对原始样本进行再处理的一种方法,也是对常规时间序列数据进行重采样和频率转换的一种便捷方法。
该方法的格式为:
DataFrame.resample(rule,how=None,axis=0,fill_method=None,closed=None,label=None,convention='start ',kind=None,loffset=None,limit=None,base=0)
参数的详细解释是:
参数
解释
频率
表示重采样频率,如' m ',' 5min ',秒(15)
怎么='卑鄙'
用于生成聚合值的函数名或数组函数,如“mean”、“ohlc”、“np.max”等。默认为“平均值”,其他常用值有:“第一个”、“最后一个”、“中值”、“最大值”、“最小值”
轴=0
是默认的垂直轴,水平轴设置为axis=1。
fill_method=无
采样时如何插值,比如' ' ffill ',' ' bfill '等。
关闭='右'
下采样时,每个时间段的哪个部分是关闭的,“右”或“左”,默认为“右”
label='右'
下采样时,如何设置聚合值的标签,比如9: 30-9: 35是标记为9: 30还是9: 35,默认为9: 35?
loffset=无
容器标签的时间校正值,如'-1s '或秒(-1),用于将聚合标签提前1秒。
限制=无
向前或向后填充时允许填充的最大周期数。
种类=无
聚合到period ('period ')或timestamp ('timestamp '),默认情况下聚合时间序列的索引类型。
约定=无
重采样期间将低频转换为高频所采用的约定(开始或结束)。默认' '结束'
首先,创建一个采样频率为一分钟的序列。
index=pd.date_range('1/1/2000 ',periods=9,freq='T ')
系列=pd。系列(范围(9),索引=索引)
系列
2000-01-01 00:00:00 0
2000-01-01 00:01:00 1
2000-01-01 00:02:00 2
2000-01-01 00:03:00 3
2000-01-01 00:04:00 4
2000-01-01 00:05:00 5
2000-01-01 00:06:00 6
2000-01-01 00:07:00 7
2000-01-01 00:08:00 8
频率:T,数据类型:int64
将采样频率降低到三分钟。
series.resample('3T ')。总和()
2000-01-01 00:00:00 3
2000-01-01 00:03:00 12
2000-01-01 00:06:00 21
频率:3T,数据类型:int64
将采样频率降低到三分钟,但是对每个标签使用右而不是左。请注意,bucket中的值用作标签。
series.resample('3T ',label='right ')。总和()
2000-01-01 00:03:00 3
2000-01-01 00:06:00 12
2000-01-01 00:09:00 21
频率:3T,数据类型:int64
将采样频率降低到三分钟,但关闭正确的间隔。
series.resample('3T ',label='right ',closed='right ')。总和()
2000-01-01 00:00:00 0
2000-01-01 00:03:00 6
2000-01-01 00:06:00 15
2000-01-01 00:09:00 15
频率:3T,数据类型:int64
将采样频率增加到30秒。
series.resample('30S ')。asfreq()[0:5]#选择前5行
2000-01-01 00:00:00 0
南
2000-01-01 00:01:00 1
南
2000-01-01 00:02:00 2
频率:30秒,数据类型:浮点64
将采样频率提高到30S,用pad法填入nan值。
series.resample('30S ')。pad()[0:5]
2000-01-01 00:00:00 0
2000-01-01 00:00:30 0
2000-01-01 00:01:00 1
2000-01-01 00:01:30 1
2000-01-01 00:02:00 2
频率:30S,数据类型:int64
将采样频率增加到30S,并用bfill方法填充nan值。
series.resample('30S ')。bfill()[0:5]
2000-01-01 00:00:00 0
2000-01-01 00:00:30 1
2000-01-01 00:01:00 1
2000-01-01 00:01:30 2
2000-01-01 00:02:00 2
频率:30S,数据类型:int64
通过应用运行自定义函数。
def custom_resampler(array_like):
.return np.sum(array_like) 5
series.resample('3T ')。应用(自定义重采样器)
2000-01-01 00:00:00 8
2000-01-01 00:03:00 17
2000-01-01 00:06:00 26
频率:3T,数据类型:int64
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。