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

Python Pandas – グループごとの行数を数える方法

グループごとの行数を数える方法

Pandasで各グループに含まれる行数を数えるには、group.size()を使用します。まず、必要なライブラリをインポートしましょう。

import pandas as pd

続いて、サンプル用のDataFrameを作成します。

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

列を指定してデータをグループ化します。

dataFrame.groupby(["Product Category", "Quantity"])

その後、size()を呼び出すことで、各グループの行数を簡単に取得できます。

サンプルコード(完全版)

以下は、ここまでの手順をまとめた完全なコード例です。

import pandas as pd

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

# データフレームを表示
print("Dataframe...\n", dataFrame)

# 列を指定してグループ化
new_group = dataFrame.groupby(["Product Category", "Quantity"])

# グループサイズを取得
new_group = new_group.size()

# 結果を表示
print("\nUpdated Dataframe...\n", new_group)

実行結果

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

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

Updated Dataframe...
Product Category  Quantity
Computer          10          1
                  25          1
Electronics       10          1
                  20          1
Mobile Phone      50          2
dtype: int64

このように、groupby()で複数の列を指定してグループ化し、size()を呼び出すだけで、各グループの行数を一目で確認できます。例えば上記の結果では、「Mobile Phone」かつ数量「50」のグループだけが2行含まれていることがわかります。データ分析における集計作業で頻繁に使われるテクニックなので、ぜひ覚えておきましょう。

  1. Python・Pandasでデータフレームの列に含まれるNaNの数をカウントする方法

    Pandasのデータフレームで特定の列に含まれるNaN(欠損値)の数をカウントしたい場合、isna()メソッドとsum()メソッドを組み合わせるのが最もシンプルで一般的な方法です。isna()は各要素がNaNかどうかを判定し、sum()でその結果を合計することでNaNの出現回数を求められます。必要なライブラリのインポートまず、PandasとNumPyをそれぞれ別名(エイリアス)付きでインポートします。import pandas as pd import numpy as npサンプルデータフレームの作成次に、テスト用のデータフレームを作成します。ここでは「Units_Sold」列に意図的にNa

  2. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存