④項目(通貨ペア)の出現回数のカウント groupby/count

下↓のように通貨ペアの出現回数をカウント表示するためには、
どうすればいいのか?


通貨ペアごとの回数集計---------------------------------------------------

通貨ペア
AUD/JPY     6
AUD/NZD     6
AUD/USD     2
CAD/JPY     7
EUR/GBP     1
EUR/JPY     9
NZD/JPY    10
NZD/USD    10
USD/JPY     2

Name: 回数, dtype: int64
---------------------------------------------------

集計に必要な項目として

・通貨ペア
・確定損益
・(スワップ)

を選びdf(データフレーム)を作りました。

df = df[['通貨ペア','確定損益','(スワップ)']]
>>>②集計に必要な項目を表示する

dfの中身↓

   通貨ペア  確定損益  (スワップ)

2   NZD/JPY   787   -13.0
4   AUD/JPY   894    -6.0
5   NZD/USD   766     0.0
9   EUR/GBP  1083     4.0
11  CAD/JPY   800     0.0
13  CAD/JPY   800     0.0
14  NZD/USD   762     0.0
17  EUR/GBP   960     0.0
19  AUD/USD   402  -359.0
21  CAD/JPY   800     0.0
25  CAD/JPY   800     0.0

今回は「通貨ペア」の出現回数をカウントします。
例えば「CAD/JPY」ならば4回です。

出現回数をカウントするにはgroupbyで通貨ペアをまとめます。
df_count2 = df.groupby('通貨ペア').count()

すると


         確定損益  (スワップ)
通貨ペア                 
AUD/JPY     1       1
AUD/USD     1       1
CAD/JPY     4       4
EUR/GBP     2       2
NZD/JPY     1       1
NZD/USD     2       2

確定損益と(スワップ)の2項目で通貨ペアの回数がカウントされました。

カウントが表示されるのは1行でよいので、
「確定損益」の項目をコードの一番最後につけます。

df_count2 = df.groupby('通貨ペア').count()['確定損益']

すると


通貨ペア
AUD/JPY    1
AUD/USD    1
CAD/JPY    4
EUR/GBP    2
NZD/JPY    1
NZD/USD    2

Name: 確定損益, dtype: int64

確定損益の項目だけで通貨ペアの回数がカウントされました。

通貨ペアの回数の項目名が「確定損益」ですとおかしいので、
「確定損益」の名前を「回数」に変更します。

いつ「確定損益」の名前を「回数」に変更するのか?

この記事の初めにdf(でーたフレーム)をつくりました。
その時に項目を変更しておきます。

df = df[['通貨ペア','確定損益','(スワップ)']]

dfの中身↓

   通貨ペア  確定損益  (スワップ)

2   NZD/JPY   787   -13.0
4   AUD/JPY   894    -6.0
5   NZD/USD   766     0.0
9   EUR/GBP  1083     4.0
11  CAD/JPY   800     0.0
13  CAD/JPY   800     0.0
14  NZD/USD   762     0.0
17  EUR/GBP   960     0.0
19  AUD/USD   402  -359.0
21  CAD/JPY   800     0.0
25  CAD/JPY   800     0.0

この「確定損益」の名前を次のコードで変えます。

df_rename = df.rename(columns={'確定損益':'回数'})

そうすると


       通貨ペア    回数  (スワップ)
2   NZD/JPY   787   -13.0
4   AUD/JPY   894    -6.0
5   NZD/USD   766     0.0
9   EUR/GBP  1083     4.0
11  CAD/JPY   800     0.0
13  CAD/JPY   800     0.0
14  NZD/USD   762     0.0
17  EUR/GBP   960     0.0
19  AUD/USD   402  -359.0
21  CAD/JPY   800     0.0
25  CAD/JPY   800     0.0

それからgroupbyで通貨ペアの出現回数を「回数」の項目でカウントするため、
次のコードを実行すると

df_count2 = df.groupby('通貨ペア').count()['回数']


通貨ペアごとの回数集計----------------------------

通貨ペア
AUD/JPY    1
AUD/USD    1
CAD/JPY    4
EUR/GBP    2
NZD/JPY    1
NZD/USD    2
Name: 回数, dtype: int64

--------------------------------------------------

となり通貨ペアの出現回数がカウントできました。

⑤各フレームをくっつける(concat)

おすすめの記事