Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:groupby()とcount()で観測データを数える方法

Pandasで観測データ(行数)をカウントするには、まず groupby() メソッドでデータをグループ化し、その結果に対して count() を適用します。本記事では、商品データを例に、カテゴリごとの観測数を集計する手順をわかりやすく解説します。

1. ライブラリのインポートとDataFrameの作成

はじめにpandasをインポートし、サンプル用のDataFrameを作成します。ここでは「商品名」「商品カテゴリ」「数量」の3列を持つデータを用意しました。

import pandas as pd

# DataFrameを作成
dataFrame = pd.DataFrame({
    'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],
    'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],
    'Quantity': [10, 50, 10, 20, 25, 50]
})

このDataFrameには6件の商品データが含まれており、「Product Category」列には同じ値が複数回登場します。このような重複値を持つ列は、グループ化による集計に適しています。

2. groupby()でデータをグループ化する

重複した値を持つ「Product Category」列を基準に、データをグループ化します。

group = dataFrame.groupby("Product Category")

3. count()で観測数を取得する

グループ化したオブジェクトに対して count() を呼び出すと、各カテゴリに含まれる観測数(欠損値NaNを除く値の個数)が列ごとに集計されます。

group.count()

完全なサンプルコード

ここまでの手順をまとめたコード全体は以下の通りです。

import pandas as pd

# DataFrameを作成
dataFrame = pd.DataFrame({
    'Product Name': ['Keyboard', 'Charger', 'SmartTV', 'Camera', 'Graphic Card', 'Earphone'],
    'Product Category': ['Computer', 'Mobile Phone', 'Electronics', 'Electronics', 'Computer', 'Mobile Phone'],
    'Quantity': [10, 50, 10, 20, 25, 50]
})

# DataFrameを表示
print("Dataframe...\n", dataFrame)

# 観測数をカウント
group = dataFrame.groupby("Product Category")

print("\nResultant DataFrame...\n", group.count())

実行結果

上記のコードを実行すると、次のような出力が得られます。

Dataframe...
    Product Category   Product Name   Quantity
0          Computer        Keyboard         10
1      Mobile Phone         Charger         50
2       Electronics        SmartTV         10
3       Electronics          Camera         20
4          Computer    Graphic Card         25
5      Mobile Phone        Earphone         50

Resultant DataFrame...
                    Product Name   Quantity
Product Category
Computer                       2          2
Electronics                    2          2
Mobile Phone                   2          2

結果を見ると、「Computer」「Electronics」「Mobile Phone」の各カテゴリに、それぞれ2件ずつの観測データが含まれていることが確認できます。このように groupby()count() を組み合わせることで、カテゴリ別のデータ件数を簡単に集計できます。

  1. Python Pandasでデータセットをプロットして下降トレンド(ダウントレンド)を表示する方法

    時系列分析において、データが継続的に下向きのパターンを示すことを下降トレンド(ダウントレンド)と呼びます。株価や売上データなどの分析では、この下降トレンドを視覚的に把握することが非常に重要です。 ここでは、PandasとMatplotlibを使ってCSVファイルのデータを読み込み、下降トレンドをグラフに表示する手順を解説します。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import pandas as pd import matplotlib.pyplot as plt CSVファイルからデータを読み込む 次に、CSVファイルのデータをPandasのDataF

  2. Python Pandasでデータセットをプロットして上昇トレンドを表示する方法

    時系列分析において、データが時間の経過とともに上昇していくパターンが確認できる状態を「上昇トレンド(Uptrend)」と呼びます。本記事では、PythonのPandasとMatplotlibを使って、実際のデータセットから上昇トレンドを可視化する方法を解説します。使用するデータセット今回の例では、以下のような販売記録データ「SalesRecords.csv」を使用します。このファイルには購入日や売上などの情報が含まれています。必要なライブラリのインポートまず、PandasとMatplotlibという2つのライブラリをインポートします。Pandasはデータの読み込みや加工を担当し、Matplot