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

ではごきげんよう、

ジョージ・マウント


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて