Panda の時系列データ

Panda の時系列データ

このチュートリアルでは、Pandas を使用して時系列データをリサンプリングする方法を学習します。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます

このリサンプリングという考え方は何でしょうか? これは時系列データに関連しており、これから行うことは、そのデータが報告される頻度を変更することです。たとえば、年間値を月次または週次に変更したり、時間ごとのデータを日次に変更したりできます。つまり、階層内のレベルを変更しています。

これは、より信頼性の高い傾向サンプル サイズ季節性を取得するなど、さまざまな理由で使用できます。一部のレポートでは、あるレベルの階層と別のレベルの階層を使用する方が合理的です。

さらに、リサンプリングは、異なるデータ ソースがあり、時系列データの結合を実行する必要がある場合に役立ちます。これは、階層内の不一致に対処する場合にも役立ちます。

Panda の時系列データ

これをさらに細分化すると、ダウンサンプリングとアップサンプリングがあります。

ダウンサンプリングは、レポートの頻度を減らすことです。値を少なくするために 1 秒から 1 時間に変換したり、月から四半期にダウンサンプリングしたりすることが考えられます。

一方、アップサンプリングは、レポートの頻度を月レベルから日レベルまで増やすことです。この例については後ほど説明します。

Panda の時系列データ

目次

Pandas を使用して時系列データをリサンプリングする方法

これを Pandas でどのように行うのでしょうか?

まず、時系列データ列のインデックスを変更します。次に、補間を使用してアップサンプリングして値を埋め、ダウンサンプリングして値を集計してロールアップできます。

Panda の時系列データ

Jupyter Notebook Python に移動して、Pandas でこれを確認してみましょう。

まず、import pandas as pdと入力して Pandas を使用し、続いてimport seaborn as sns を入力して視覚化し、import matplotlib.pyplot as plt を入力してSeaborn の視覚化をカスタマイズします。

次に行うことは、vega_datasets import data からデータを取得することです。サンプルソースを入手するには最適な場所です。また、 sp = data.sp500()sp.head() ライブラリを取得します。

Panda の時系列データ

これまでのデータは次のとおりです。毎日の収益と価格が表示されます。

Panda の時系列データ

インデックスを日付列に設定するには、 「sp.set_index(['date'], inplace=True)」と入力し、もう一度sp.headを呼び出します。

Panda の時系列データ

アップサンプリングを使用して値を取得する

次に、より多くの値を取得するには、アップサンプリングを使用しましょう。毎日のデータがあるので、sp [['price']] という最も単純な関数を使用して時間単位まで下げることができます。('H').ffill () を再サンプルしてから実行します。H は時間を表し、M は月を表し、D は日を表します。これについて詳しくは、Pandas のドキュメントを参照してください。

ご覧のとおり、1 月 1 日午前 0 時の価格は 1394.46 で、その後の午前 1 時から午前 4 時までの時間と同じです。別の例は 1 月 2 日で、終値は 1366.42 です。

Panda の時系列データ

値が時間レベルで利用できない場合でも、これを行う別の方法があります。また、単にフォワードフィルを実行するよりも洗練された方法もあります。この例では、アップサンプリング補間を行う基本的な方法を実行しました。

次に、 avg_month = sp [['price]].resample ('M').mean ( ) と入力してダウンサンプリングに進み、次にavg_month.head ( )を実行して確認します。

図のように、各月の最終日と平均価格が表示されます。サンプルを減らして値を少なくする、いわゆるダウンサイジングを行うことができます。

Panda の時系列データ

これを視覚化するために、描画された寸法を再プロットしてみましょう。次に、sns.lineplotが続きます。折れ線グラフは X 軸が長いほどうまく機能し、Y 値は月平均価格です。

月の平均価格をプロットして確認するには、これを実行してみましょう。

Panda の時系列データ

繰り返しますが、これを行うにはさまざまな方法があります。たとえば、四半期ごとの最低価格を知りたい場合は、「quarter_low」と入力してから「quarter_low.head」と入力して実行するだけです。

これで、各四半期で見つかった四半期最低値が確認できるようになりました。これがリサンプルのやり方です。

Panda の時系列データ


Pandasで内挿メソッド
MultiIndex を使用して Python で欠損データを処理する (Pandas でマルチレベルまたは階層データの場合)
ProfileReport を使用した Pandas のデータセット LuckyTemplates の Python

結論

締めくくりに、Pandas はリサンプリングと時系列データ向けに構築されています。時系列データを扱っており、粒度が異なる場合、リサンプリングは非常に役立ちます。

さらに、リサンプル方法に関する Pandas のドキュメントを必ず読んで、これを行うためのさまざまな方法を学習してください。ここでは基本的なものについて説明しましたが、隔週、月の最終営業日、および再サンプリングのその他のオプションなどを実行することもできます。

ではごきげんよう、

ジョージ・マウント


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。