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行含まれていることがわかります。データ分析における集計作業で頻繁に使われるテクニックなので、ぜひ覚えておきましょう。
-
Python・Pandasでデータフレームの列に含まれるNaNの数をカウントする方法
Pandasのデータフレームで特定の列に含まれるNaN(欠損値)の数をカウントしたい場合、isna()メソッドとsum()メソッドを組み合わせるのが最もシンプルで一般的な方法です。isna()は各要素がNaNかどうかを判定し、sum()でその結果を合計することでNaNの出現回数を求められます。必要なライブラリのインポートまず、PandasとNumPyをそれぞれ別名(エイリアス)付きでインポートします。import pandas as pd import numpy as npサンプルデータフレームの作成次に、テスト用のデータフレームを作成します。ここでは「Units_Sold」列に意図的にNa
-
【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ファイルを読み込みます。ここではデスクトップ上に保存