ノンプログラマーのためのPython学習サイト

Pandas|count関数の使い方、条件を指定してカウント

eye_catch_Pandas

困っている人

  • count関数の使い方を知りたい
  • 条件を指定してデータの個数をカウントしたい
  • 複数条件でカウントする方法を教えてほしい
この記事で解決できること
  1. count関数の使い方が分かる
  2. 条件を指定したカウント方法が分かる
  3. 複数条件でカウントする方法が分かる

Pandasのcount関数の使い方

PandasのDataFrame(データフレーム )では、count関数を使うことで列データの「個数」をカウントできます。

count関数はデータフレームの概要を調べる際によく利用します。今回は以下のデータフレーム を使って、様々なパターンのカウント方法を説明していきます。

Pandasのcount関数の基本

今回紹介するcount関数の基本的な使い方です。

No. 基本形 説明
1 df[‘日付’].count() データフレーム の日付の個数をカウント
2 df[df[‘商品名’]==’りんご’].count() データフレーム の列データ(商品名)が”りんご”の個数をカウント
3 df.query(‘販売数量>=10’).count() データフレーム の列データ(販売数量)が10以上の個数をカウント

Pandasのcount関数の使い方のサンプルデータ

この記事では以下のサンプルデータを使います。よろしければ、ダウンロードしてご利用ください。

  • サンプルデータ(’ fruits‘)

Pandasのcount関数でデータの個数をカウント

それでは、count関数によるデータの個数をカウントする方法を説明していきます。まずはExcelファイルを読み込んでください。

Excelファイル(fruits)の読み込み

Pandasを使ってExcelファイルを読み込みます。インデックス(一番左の列)を見ると、0から364までの365日分のデータであることが分かります。

pandas_count

import pandas as pd
df=pd.read_excel('/content/fruits.xlsx')
df

1.pandasをインポート
2.変数(df)にExcelファイルから読み込んだデータフレームを代入
3.変数(df)を出力

Pandasのcount関数で日付データの個数をカウント

データフレーム の「日付」の個数をカウントします。365個のデータがあることが分かります。

pandas_count

df['日付'].count()

1.データフレームの列データ(日付)の個数をカウント

Pandasのcount関数|列データの条件(文字列)を指定してカウント

データフレーム の列データ(商品名)が”りんご”の個数をカウントします。88個のデータがあることが分かります。

pandas_count

df[df['商品名']=='りんご'].count()

1.データフレームの列データ(商品名)が”りんご”の個数をカウント

Pandasのcount関数|列データの条件(数値)を指定してカウント

データフレーム の列データ(販売数量)が”10以上”の個数をカウントします。76個のデータがあることが分かります。

pandas_count

df[df['販売数量']>=10].count()

1.データフレームの列データ(販売数量)が”10以上”の個数をカウント

Pandasの「count関数」と「queryメソッド」の使い方

pandas_count

Pandasのデータフレーム では「count関数」と「queryメソッド」を組み合わせることで、複雑な条件(AND・OR・NOT・BETWEEN)で個数をカウントできます。それでは、具体的な使い方を説明していきます。

Pandasのcount関数とqueryメソッドの使い方|列データの条件(数値)を指定してカウント

データフレーム の列データ(販売数量)が”10以上”の個数をカウントします。76個のデータがあることが分かります。

pandas_count

df.query('販売数量>=10').count()

1.データフレームの列データ(販売数量)が”10以上”の個数をカウント

Pandasのcount関数とqueryメソッドの使い方|AND条件を指定してカウント

データフレーム の列データ(販売数量)が”10以上”、そして列データ(商品名)が”りんご”の個数をカウントします。55個のデータがあることが分かります。

pandas_count

df.query("販売数量>=10&商品名=='りんご'").count()

1.データフレームの列データ(販売数量)が”10以上”、そして列データ(商品名)が”りんご”の個数をカウント

Pandasのcount関数とqueryメソッドの使い方|AND・NOT条件を指定してカウント

データフレーム の列データ(販売数量)が”10以上”、そして列データ(商品名)が”りんご以外”の個数をカウントします。21個のデータがあることが分かります。

pandas_count

df.query("販売数量 >=10 & not(商品名=='りんご') ").count()

1.データフレームの列データ(販売数量)が”10以上”、そして列データ(商品名)が”りんご以外”の個数をカウント

Pandasのcount関数とqueryメソッドの使い方|BETWEEN条件を指定してカウント

データフレーム の列データ(販売数量)が”5以上で10以下”の個数をカウントします。173個のデータがあることが分かります。

df.query('5<= 販売数量 <= 10').count()

1.データフレームの列データ(販売数量)が”5以上で10以下”の個数をカウント

Pandasのcount関数とqueryメソッドの使い方|AND・BETWEEN条件を指定してカウント

データフレーム の列データ(販売数量)が”5以上で10以下”そして列データ(商品名)が”りんご”の個数をカウントします。27個のデータがあることが分かります。

df.query("5<= 販売数量 <= 10 & 商品名=='りんご'").count()

1.データフレームの列データ(販売数量)が”5以上で10以下”、そして列データ(商品名)が”りんご”の個数をカウント

Pandasのcount関数の使い方まとめ

Pandasのcount関数は、データの個数を調べる際によく利用します。

query関数と組み合わせることで、複雑な条件(AND・OR・NOT・BETWEEN)を指定することができます。

データフレーム の概要を調べるのに便利なので、この記事の「count関数」の使い方を参考にしてください。最後まで読んでいただき、ありがとうございます。