パンダの集団目撃数を数える方法
多くの場合、pandas DataFrame 内のグループごとの観測数を数えることに興味があるかもしれません。
幸いなことに、これは次の構文でgroupby()関数とsize()関数を使用することで簡単に実行できます。
df. groupby (' column_name '). size ()
このチュートリアルでは、次のデータ フレームを使用して、この関数の実際の使用例をいくつか説明します。
import numpy as np import pandas as pd #create pandas DataFrame df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], 'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'], 'rebounds': [11, 8, 7, 6, 6, 5, 12]}) #display DataFrame print (df) team division rebounds 0 AE 11 1 AW 8 2 BE 7 3 BE 6 4 BW 6 5 CW 5 6 CE 12
例 1: 変数によるカウント
次のコードは、チームごとの観測の合計数をカウントする方法を示しています。
#count total observations by variable 'team' df. groupby (' team '). size () team At 2 B 3 C 2 dtype: int64
結果から次のことがわかります。
- チームAには2つの観察があります
- チーム B には 3 つの観察結果があります
- チーム C には 2 つの観察があります
上記のコードは系列を生成することに注意してください。ほとんどの場合、DataFrame を操作したいので、代わりに、 reset_index()関数を使用して DataFrame を生成できます。
df. groupby (' team '). size (). reset_index (name=' obs ') team obs 0 to 2 1 B 3 2 C 2
例 2: 変数によるカウントとソート
sort_values()関数を使用してグループの数を並べ替えることもできます。
ascending=Falseを指定してグループ数を最大から最小の順に並べ替えたり、 ascending=Trueを指定して最小から最大の順に並べ替えたりできます。
df. groupby (' team '). size (). reset_index (name=' obs '). sort_values ([' obs '], ascending= True ) team obs 0 to 2 2 C 2 1 B 3
例 3: 複数の変数によるカウント
pandas DataFrame 内のいくつかの変数によってグループ化された観測値の数をカウントすることもできます。
#count observations grouped by team and division df. groupby ([' team ',' division ']). size (). reset_index (name=' obs ') team division obs 0 A E 1 1 A W 1 2 B E 2 3 B W 1 4 C E 1 5 C W 1
結果から次のことがわかります。
- 1 つの観測はチーム A と部門 E に属します
- 1 つの観測はチーム A と部門 W に属します
- 2 つの観測はチーム B と部門 E に属します
- 1 つの観測はチーム B および部門 W に属します
- 1 つの観測はチーム C および部門 E に属します
- 1 つの観測はチーム C および部門 W に属します
追加リソース
Pandasで列の合計を計算する方法
Pandas で列の平均を計算する方法
Pandasで列の最大値を見つける方法