Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、Pandas を使用して時系列データをリサンプリングする方法を学習します。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます。
このリサンプリングという考え方は何でしょうか? これは時系列データに関連しており、これから行うことは、そのデータが報告される頻度を変更することです。たとえば、年間値を月次または週次に変更したり、時間ごとのデータを日次に変更したりできます。つまり、階層内のレベルを変更しています。
これは、より信頼性の高い傾向、サンプル サイズ、季節性を取得するなど、さまざまな理由で使用できます。一部のレポートでは、あるレベルの階層と別のレベルの階層を使用する方が合理的です。
さらに、リサンプリングは、異なるデータ ソースがあり、時系列データの結合を実行する必要がある場合に役立ちます。これは、階層内の不一致に対処する場合にも役立ちます。
これをさらに細分化すると、ダウンサンプリングとアップサンプリングがあります。
ダウンサンプリングは、レポートの頻度を減らすことです。値を少なくするために 1 秒から 1 時間に変換したり、月から四半期にダウンサンプリングしたりすることが考えられます。
一方、アップサンプリングは、レポートの頻度を月レベルから日レベルまで増やすことです。この例については後ほど説明します。
目次
Pandas を使用して時系列データをリサンプリングする方法
これを Pandas でどのように行うのでしょうか?
まず、時系列データ列のインデックスを変更します。次に、補間を使用してアップサンプリングして値を埋め、ダウンサンプリングして値を集計してロールアップできます。
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() ライブラリを取得します。
これまでのデータは次のとおりです。毎日の収益と価格が表示されます。
インデックスを日付列に設定するには、 「sp.set_index(['date'], inplace=True)」と入力し、もう一度sp.headを呼び出します。
アップサンプリングを使用して値を取得する
次に、より多くの値を取得するには、アップサンプリングを使用しましょう。毎日のデータがあるので、sp [['price']] という最も単純な関数を使用して時間単位まで下げることができます。('H').ffill () を再サンプルしてから実行します。H は時間を表し、M は月を表し、D は日を表します。これについて詳しくは、Pandas のドキュメントを参照してください。
ご覧のとおり、1 月 1 日午前 0 時の価格は 1394.46 で、その後の午前 1 時から午前 4 時までの時間と同じです。別の例は 1 月 2 日で、終値は 1366.42 です。
値が時間レベルで利用できない場合でも、これを行う別の方法があります。また、単にフォワードフィルを実行するよりも洗練された方法もあります。この例では、アップサンプリング補間を行う基本的な方法を実行しました。
次に、 avg_month = sp [['price]].resample ('M').mean ( ) と入力してダウンサンプリングに進み、次にavg_month.head ( )を実行して確認します。
図のように、各月の最終日と平均価格が表示されます。サンプルを減らして値を少なくする、いわゆるダウンサイジングを行うことができます。
これを視覚化するために、描画された寸法を再プロットしてみましょう。次に、sns.lineplotが続きます。折れ線グラフは X 軸が長いほどうまく機能し、Y 値は月平均価格です。
月の平均価格をプロットして確認するには、これを実行してみましょう。
繰り返しますが、これを行うにはさまざまな方法があります。たとえば、四半期ごとの最低価格を知りたい場合は、「quarter_low」と入力してから「quarter_low.head」と入力して実行するだけです。
これで、各四半期で見つかった四半期最低値が確認できるようになりました。これがリサンプルのやり方です。
Pandasで内挿メソッド
MultiIndex を使用して Python で欠損データを処理する (Pandas でマルチレベルまたは階層データの場合)
ProfileReport を使用した Pandas のデータセット LuckyTemplates の Python
結論
締めくくりに、Pandas はリサンプリングと時系列データ向けに構築されています。時系列データを扱っており、粒度が異なる場合、リサンプリングは非常に役立ちます。
さらに、リサンプル方法に関する Pandas のドキュメントを必ず読んで、これを行うためのさまざまな方法を学習してください。ここでは基本的なものについて説明しましたが、隔週、月の最終営業日、および再サンプリングのその他のオプションなどを実行することもできます。
ではごきげんよう、
ジョージ・マウント
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて