パンダの集団目撃数を数える方法


多くの場合、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で列の最大値を見つける方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です