Python Pandas で時間間隔ごとにデータをグループ化するにはどうすればよいですか?

PHPz
リリース: 2023-08-29 14:13:02
転載
915 人が閲覧しました

如何在Python Pandas中按时间间隔分组数据?

データ分析はあらゆる業界でますます重要な側面になってきています。多くの組織は、戦略的な意思決定、傾向の予測、消費者の行動の理解のために情報に大きく依存しています。このような環境では、Python の Pandas ライブラリが強力なデバイスとして登場し、情報を適切に制御、分解、視覚化するためのさまざまな機能を提供します。これらの強力な機能の 1 つに、時間間隔によるデータのグループ化が含まれます。

この記事では、Pandas を使用してデータを時間間隔ごとにグループ化する方法に焦点を当てます。構文、わかりやすいアルゴリズム、2 つの異なるアプローチ、およびこれらのアプローチに基づいた完全に実行可能な 2 つの現実世界のコードについて説明します。

###文法###

私たちが焦点を当てる方法は、Pandas の groupby() 関数、特にそのリサンプリング方法です。構文は次のとおりです:

リーリー

構文内:

  • df

    -データフレーム。

  • groupby(pd.Grouper())

    -データをグループ化する関数。

  • key

    -グループ化する列。ここでは「日付」列です。

  • freq

    -間隔の頻度。 (「T」は分、「H」は時間、「D」は日などを表します)

  • sum()

    - 集計関数。

    ###アルゴリズム###
  • これは、時間間隔によってデータをグループ化するための段階的なアルゴリズムです -

必要なライブラリ、つまり Pandas をインポートします。

  • DataFrame をロードまたは作成します。

  • まだ変換されていない場合は、日付列を datetime オブジェクトに変換します。

  • pd.Grouper を使用して、必要な頻度で日付列に groupby() 関数を適用します。

  • sum()、mean()、およびその他の集計関数を適用する

  • 結果を印刷または保存します。

  • ###方法###

    2 つの異なるアプローチを検討します −

  • 方法 1: 毎日の頻度でグループ化する

この例では、一連の日付と値を含む DataFrame を作成します。次に、データを毎日の頻度ごとにグループ化し、毎日の値を合計しました。

###例### リーリー ###出力### リーリー

イラスト

Pandas ライブラリの導入は、あらゆるデータ操作作業の絶対的な要件であり、このコードで実際に行う主な作業です。 pd.DataFrame() 戦略の利用は、DataFrame の構築中の後続の段階です。このデータフレームは「日付」部分と「値」部分で構成されます。 pd.date_range() 関数は、「日付」列に時間ごとのタイムスタンプの範囲を作成するために使用されますが、「値」部分には整数の範囲のみが含まれます。 「日付」列は、この対話の結果です。

現在、「Date」列は datetime オブジェクトを別の方法で処理していますが、確実に変更されるように pd.to_datetime() 関数を使用することが増えています。収集アクティビティの進行状況は、セグメントに日時オブジェクトの情報タイプがあるかどうかに依存するため、この手順は重要です。

この後、毎日 ('D') 頻度でデータをグループ化するには、groupby() 関数と pd.Grouper() 関数を組み合わせて使用​​します。グループ化した後、sum() 関数を使用して、同じ日に属するすべての「値」要素を 1 つの合計に結合します。

最後に、グループ化されたデータフレームが書き出され、毎日の値の合計が表示されます。

方法 2: カスタム頻度 (15 分間隔など) でグループ化する

###例### リーリー ###出力### リーリー

イラスト

次の手法は、最初の手法と同様に Pandas ライブラリのインポートから始まり、DataFrame を作成します。このデータフレームは前のモデルで使用されていたものと同じですが、唯一の違いは、「日付」列に分単位のタイムスタンプが含まれることです。

コレクション アクティビティが適切に動作するには、「date」列は datetime オブジェクトである必要があり、pd.to_datetime() 関数によってこれが確実に行われます。

このセクションでは、groupby() メソッド内で pd.Grouper() 関数を使用し、専用の 15 分 (「15T」) の頻度でグループ化操作を実行します。 15 分間隔ごとに「値」エントリを集計するには、最初の方法で使用したのと同じ方法である sum() 関数を使用します。

15 分間隔ごとの「値」列の合計を示す新しいグループ化されたデータフレームを表示して、コードを完成させます。

###結論は###

Pandas の強力な機能にはさまざまなデータ操作が含まれており、その 1 つは時間間隔によるデータのグループ化です。 groupby() 関数を pd.Grouper と組み合わせて使用​​すると、毎日の頻度またはカスタム頻度に基づいてデータを効果的にセグメント化し、効率的かつ柔軟なデータ分析が可能になります。

データを時間間隔ごとにグループ化できるため、アナリストや企業はデータから有意義な洞察を抽出できます。 1 日あたりの総売上高を計算する場合でも、1 時間ごとの平均気温を取得する場合でも、15 分ごとの Web サイトのアクセス数をカウントする場合でも、データを時間間隔ごとにグループ化することで、時間の経過に伴うデータの傾向、パターン、傾向をよりよく理解できるようになります。

Python の Pandas ライブラリは強力なデータ分析ツールであることを覚えておいてください。 groupby メソッドなどの機能の使用方法を学ぶと、より効率的で熟練したデータ アナリストやデータ サイエンティストになることができます。

以上がPython Pandas で時間間隔ごとにデータをグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート