Pandas DataFrame.rolling()関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.rolling() の構文:
  2. コード例:DataFrame.rolling() サイズ 2 のウィンドウでローリング和を求めるメソッド
  3. コード例:DataFrame.rolling() サイズ 3 のウィンドウで転がり平均を求めるメソッド
Pandas DataFrame.rolling()関数

Python Pandas DataFrame.rolling() 関数は数学演算のためのローリングウィンドウを提供します。

pandas.DataFrame.rolling() の構文:

DataFrame.rolling(
    window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None
)

パラメータ

window 整数、オフセット、または BaseIndexer サブクラス型のパラメータです。ウィンドウのサイズを指定します。各ウィンドウは固定サイズです。このパラメータは統計量の計算に用いられるオブザベーションの数を指定します。
min_periods これは整数のパラメータです。このパラメータは、ウィンドウ内のオブザベーションの最小数を指定します。オブザベーションの数は値を持たなければならない; そうでなければ、結果は null 値となります。
center ブール値です。ウィンドウの中央にラベルを設定することを指定します。
win_type 文字列パラメータです。ウィンドウの種類を指定します。詳しくはここをクリックしてください
on これは文字列パラメータです。インデックスではなく、ローリングウィンドウを計算するためのカラム名を指定します。
axis これは整数または文字列のパラメータです。
closed 文字列パラメータです。これはインターバルクロージャを指定します。4つのオプションがあります: rightleftboth, or neither

戻り値

特定の操作を実行した後にウィンドウを返します。

コード例:DataFrame.rolling() サイズ 2 のウィンドウでローリング和を求めるメソッド

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.rolling(2).sum()
print("The Rolling Window After Calculation is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance  Obtained Marks
0          60              90
1         100              75
2          80              82
3          78              64
4          95              45
The Rolling Window After Calculation is: 

   Attendance  Obtained Marks
0         NaN             NaN
1       160.0           165.0
2       180.0           157.0
3       158.0           146.0
4       173.0           109.0

この関数はインデックス軸上のローリング和を返します。インデックス 0 の場合、ローリングウィンドウのサイズが大きいため、関数は NaN を返していることに注意してください。

コード例:DataFrame.rolling() サイズ 3 のウィンドウで転がり平均を求めるメソッド

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.rolling(3).mean()
print("The Rolling Window After Calculation is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance  Obtained Marks
0          60              90
1         100              75
2          80              82
3          78              64
4          95              45
The Rolling Window After Calculation is: 

   Attendance  Obtained Marks
0         NaN             NaN
1         NaN             NaN
2   80.000000       82.333333
3   86.000000       73.666667
4   84.333333       63.666667

この関数は、ローリング平均ウィンドウを返しました。

関連記事 - Pandas DataFrame