時系列データは、一定の時間間隔で収集された一連の観測値です。データは、金融、経済、健康、環境科学など、あらゆる分野から取得できます。当社が収集する時系列データは、周波数や解像度が異なる場合があり、当社の分析およびデータ モデリング プロセスには適さない場合があります。この場合、アップサンプリングまたはダウンサンプリングによって時系列データをリサンプリングし、それによって時系列の周波数または解像度を変更できます。この記事では、時系列データをアップサンプリングまたはダウンサンプリングするさまざまな方法を紹介します。
アップサンプリングとは、時系列データの周波数を増やすことを意味します。これは通常、より高い解像度またはより頻繁な観測が必要な場合に行われます。Python には、線形内挿、最近隣内挿など、時系列データをアップサンプリングするためのいくつかの方法が用意されています。および多項式補間。
###構文### リーリー ここにあります、
関数は、時系列データをリサンプリングするために pandas ライブラリによって提供されるメソッドです。これは DataFrame に適用され、リサンプリングに必要な頻度を指定するルール パラメーターを受け取ります。引数 (*args) とキーワード引数 (**kwargs) を指定すると、集計方法の指定や欠損値の処理など、リサンプリング動作をカスタマイズできます。
asfreq内挿法は、時系列データの欠損値やギャップを埋めるために使用されます。指定された方法 (「線形」、「最近接」、「スプライン」など) に従って補間して、既存の観測間の値を推定します。追加のパラメーターは、補間の軸、連続する NaN 値のパディング制限、およびデータフレームをその場で変更するか新しいデータフレームを返すかを制御できます。
###線形補間###Example
の中国語訳は次のとおりです:最近傍補間
上の例では、前と同じ元のデータフレームを使用します。「D」周波数でリサンプリングした後、「最近接」オプションを指定した内挿メソッドは、利用可能な最も近い観測値をコピーすることによってギャップを埋めます。結果のデータフレーム、df_upsampledは、最近傍補間による毎日の頻度を持ちます。
###構文### リーリー
ここでは、の中国語訳は次のとおりです:
平均ダウンサンプリングIn the below example, we start with a daily time series DataFrame spanning the entire month of June 2023. The resample function with the 'W' frequency downsamples the data to weekly intervals. By applying the mean method, we obtain the average value within each week. The resulting DataFrame, df_downsampled, contains the mean-downsampled time series data.
import pandas as pd # Create a sample time series DataFrame with daily frequency data = {'Date': pd.date_range(start='2023-06-01', end='2023-06-30', freq='D'), 'Value': range(30)} df = pd.DataFrame(data) df.set_index('Date', inplace=True) # Downsampling using mean df_downsampled = df.resample('W').mean() # Print the downsampled DataFrame print(df_downsampled)
Value Date 2023-06-04 1.5 2023-06-11 7.0 2023-06-18 14.0 2023-06-25 21.0 2023-07-02 27.0
最大降采样计算并设置每个间隔内的最高值。此方法适用于识别时间序列中的峰值或极端事件。在前面的示例中使用max而不是mean或sum允许我们执行最大降采样。
In the below example, we start with a daily time series DataFrame spanning the entire month of June 2023. The resample function with the 'W' frequency downsamples the data to weekly intervals. By applying the max method, we obtain the Maximum value within each week. The resulting DataFrame, df_downsampled, contains the maximum-downsampled time series data.
import pandas as pd # Create a sample time series DataFrame with daily frequency data = {'Date': pd.date_range(start='2023-06-01', end='2023-06-30', freq='D'), 'Value': range(30)} df = pd.DataFrame(data) df.set_index('Date', inplace=True) # Downsampling using mean df_downsampled = df.resample('W').max() # Print the downsampled DataFrame print(df_downsampled)
Value Date 2023-06-04 3 2023-06-11 10 2023-06-18 17 2023-06-25 24 2023-07-02 29
在本文中,我们讨论了如何使用Python对时间序列数据进行重新采样。Python提供了各种上采样和下采样技术。我们探讨了线性和最近邻插值用于上采样,以及均值和最大值插值用于下采样。您可以根据手头的问题使用任何一种上采样或下采样技术。
以上がPython で時系列データをリサンプリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。