Pandas DataFrame.resample()函式
Minahil Noor
2023年1月30日
-
pandas.DataFrame.resample()
的語法 -
示例程式碼:
DataFrame.resample()
方法以周為單位重新取樣系列資料 -
示例程式碼:
DataFrame.resample()
方法按月重新取樣Series
資料
Python Pandas DataFrame.resample()
函式對時間序列資料進行重新取樣。
pandas.DataFrame.resample()
的語法
DataFrame.resample(
rule,
axis=0,
closed=None,
label=None,
convention="start",
kind=None,
loffset=None,
base=None,
on=None,
level=None,
origin="start_day",
offset=None,
)
引數
rule |
它是代表目標轉換的偏移字串或物件。 |
axis |
它指定使用哪一個軸進行向上或向下取樣。對於 Series ,預設為 0,即沿行。 |
closed |
它指定了 bin 區間的哪一面是封閉的。它有兩個選項:right 或 left 。 |
label |
它指定了要給 bin 貼標籤的 bin 邊緣標籤。它有兩個選項:right 或 left 。 |
convention |
它有四個選項:start 、end 、s 或 e ,僅對於 PeriodIndex,它使用 start 或 end 。 |
kind |
它指定了產生的索引的種類,有兩個選項:時間戳或週期。它有兩個選項:timestamp 或 period 。timestamp 將生成的索引轉換為 DateTimeIndex,而 period 將其轉換為 PeriodIndex。 |
loffset |
它調整重新取樣的時間標籤。 |
base |
它是一個整數。其預設值為 0。 |
on |
它表示要用來代替索引進行重取樣的列的名稱。該列必須是類似於日期時間的。 |
level |
它表示用於重新取樣的級別名稱。級別必須是類似於日期的。 |
origin |
它是調整分組的時間戳。它有三個選項:epoch 、start 或 start_day 。 |
offset |
它代表了加在 origin 引數上的偏移量 timedelta 。 |
返回值
它返回重新取樣的物件。
示例程式碼:DataFrame.resample()
方法以周為單位重新取樣系列資料
import pandas as pd
index = pd.date_range('1/1/2021', periods=30, freq='D')
series = pd.Series(range(30), index=index)
print("The Original Series is: \n")
print(series)
series1= series.resample('W').sum()
print("The Resampled Data is: \n")
print(series1)
輸出:
The Original Series is:
2021-01-01 0
2021-01-02 1
2021-01-03 2
2021-01-04 3
2021-01-05 4
2021-01-06 5
2021-01-07 6
2021-01-08 7
2021-01-09 8
2021-01-10 9
2021-01-11 10
2021-01-12 11
2021-01-13 12
2021-01-14 13
2021-01-15 14
2021-01-16 15
2021-01-17 16
2021-01-18 17
2021-01-19 18
2021-01-20 19
2021-01-21 20
2021-01-22 21
2021-01-23 22
2021-01-24 23
2021-01-25 24
2021-01-26 25
2021-01-27 26
2021-01-28 27
2021-01-29 28
2021-01-30 29
Freq: D, dtype: int64
The Resampled Data is:
2021-01-03 3
2021-01-10 42
2021-01-17 91
2021-01-24 140
2021-01-31 159
Freq: W-SUN, dtype: int64
函式返回了以周為單位的重新取樣的總和。
示例程式碼:DataFrame.resample()
方法按月重新取樣 Series
資料
import pandas as pd
index = pd.date_range('1/1/2021', periods=30, freq='D')
series = pd.Series(range(30), index=index)
print("The Original Series is: \n")
print(series)
series1= series.resample('M').sum()
print("The Resampled Data is: \n")
print(series1)
輸出:
The Original Series is:
2021-01-01 0
2021-01-02 1
2021-01-03 2
2021-01-04 3
2021-01-05 4
2021-01-06 5
2021-01-07 6
2021-01-08 7
2021-01-09 8
2021-01-10 9
2021-01-11 10
2021-01-12 11
2021-01-13 12
2021-01-14 13
2021-01-15 14
2021-01-16 15
2021-01-17 16
2021-01-18 17
2021-01-19 18
2021-01-20 19
2021-01-21 20
2021-01-22 21
2021-01-23 22
2021-01-24 23
2021-01-25 24
2021-01-26 25
2021-01-27 26
2021-01-28 27
2021-01-29 28
2021-01-30 29
Freq: D, dtype: int64
The Resampled Data is:
2021-01-31 435
Freq: M, dtype: int64
函式返回按月重新取樣的總和。