pandas中的resample,重新取樣,是對原樣本重新處理的乙個方法,是乙個對常規時間序列資料重新取樣和頻率轉換的便捷的方法。
方法的格式是:
dataframe.
resample
(rule
, how=none
, axis=0
, fill_method=none
, closed=none
, label=none
, convention='start'
,kind
=none
, loffset=none
, limit=none
, base=0)
引數詳解是:
parameters:
rule : string
偏移量表示目標字串或物件轉換axis : int, optional, default 0
closed :
哪乙個方向的間隔是關閉的label :
which bin edge label to label bucket withconvention :
loffset : timedelta
調整重新取樣時間標籤base : int, default 0
頻率均勻細分1天,「起源」的聚合的間隔。例如,對於「5分鐘」頻率,基地可能範圍從0到4。
預設值為0
首先建立乙個series,取樣頻率為一分鐘。
>>>降低取樣頻率為三分鐘index=pd
.date_range
('1/1/2000'
,periods=9
,freq
='t'
)>>>
series=pd
.series
(range(9
),index
=index
)>>>
series
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
freq: t, dtype: int64
>>>降低取樣頻率為三分鐘,但是每個標籤使用right來代替left。請注意,bucket中值的用作標籤。series
.resample
('3t').
sum()
2000-01-01 00:00:00 3
2000-01-01 00:03:00 12
2000-01-01 00:06:00 21
freq: 3t, dtype: int64
>>>降低取樣頻率為三分鐘,但是關閉right區間。series
.resample
('3t'
,label
='right').
sum()
2000-01-01 00:03:00 3
2000-01-01 00:06:00 12
2000-01-01 00:09:00 21
freq: 3t, dtype: int64
>>>增加取樣頻率到30秒series
.resample
('3t'
,label
='right'
,closed
='right').
sum()
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
freq: 3t, dtype: int64
>>>增加取樣頻率到30s,使用pad方法填充nan值。series
.resample
('30s').
asfreq
()[0:5
]#select first 5 rows
2000-01-01 00:00:00 0
2000-01-01 00:00:30 nan
2000-01-01 00:01:00 1
2000-01-01 00:01:30 nan
2000-01-01 00:02:00 2
freq: 30s, dtype: float64
>>>增加取樣頻率到30s,使用bfill方法填充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
freq: 30s, dtype: int64
>>>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
freq: 30s, dtype: int64
>>>
defcustom_resampler
(array_like
):...
returnnp.
sum(
array_like)+
5
>>>series
.resample
('3t').
(custom_resampler
)2000-01-01 00:00:00 8
2000-01-01 00:03:00 17
2000-01-01 00:06:00 26
freq: 3t, dtype: int64
Pandas中resample方法詳解
pandas中的resample,重新取樣,是對原樣本重新處理的乙個方法,是乙個對常規時間序列資料重新取樣和頻率轉換的便捷的方法。方法的格式是 dataframe.resample rule,how none,axis 0,fill method none,closed none,label non...
Pandas中的resample,重新取樣
pandas中的resample,重新取樣,是對原樣本重新處理的乙個方法,是乙個對常規時間序列資料重新取樣和頻率轉換的便捷的方法。方法的格式是 dataframe.resample rule,how none,axis 0,fill method none,closed none,label non...
pandas的resample重取樣
pandas中的resample,重新取樣,是對原樣本重新處理的乙個方法,是乙個對常規時間序列資料重新取樣和頻率轉換的便捷的方法。降取樣 高頻資料到低頻資料 公升取樣 低頻資料到高頻資料 主要函式 resample pandas物件都會有這個方法 引數說明 freq 表示重取樣頻率,例如 m 5mi...