Pandas中的resample,重新取樣

2021-09-25 17:21:59 字數 2582 閱讀 3120

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 with

convention :

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

降低取樣頻率為三分鐘

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來代替left。請注意,bucket中值的用作標籤。

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

降低取樣頻率為三分鐘,但是關閉right區間。

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

增加取樣頻率到30秒

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,使用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

freq: 30s, dtype: int64

增加取樣頻率到30s,使用bfill方法填充nan值。

def custom_resampler(array_like):

… return np.sum(array_like)+5

原文:

Pandas中的分類

一 分類變數的結構 乙個分類變數包括三個部分,元素值 values 分類類別 categories 是否有序 order 從上面可以看出,使用cut函式建立的分類變數預設為有序分類變數 一 獲取分類屬性 a describe方法 該方法描述了乙個分類序列的情況,包括非缺失值個數 元素值類別數 不是分...

pandas中DataFrame mean函式用法

mean 平均數 pandas中的df.mean 函式預設是等價於df.mean 0 即按軸方向求平均,得到每列資料的平均值。相反的df.mean 1 則代表按行方向求平均,得到每行資料的平均值。舉例 我們 首先匯入pandas包 import pandas as pd建立矩陣 首先使用預設方法 會...

pandas中merge的用法

pandas中的merge和concat類似,但主要是用於 兩組有key column的資料 統一索引的資料.通常也被用在database的處理當中。import pandas as pd 定義資料集並列印出 left pd.dataframe right pd.dataframe print le...