Pandasのdescribe関数とは

Pandasのdescribe関数は、データフレームの各列に対して基本的な統計量を計算し、それらをまとめて表示するための便利なツールです。具体的には、以下の統計量を計算します。

  • count: 非欠損値の数
  • mean: 平均値
  • std: 標準偏差
  • min: 最小値
  • 25%: 第一四分位数
  • 50%: 中央値(第二四分位数)
  • 75%: 第三四分位数
  • max: 最大値

この関数は、データの分布や傾向を素早く把握するための初期データ分析(EDA: Exploratory Data Analysis)に非常に役立ちます。また、数値データだけでなく、カテゴリカルデータ(オブジェクト型やカテゴリ型)に対しても適用可能で、その場合は異なる統計量(unique, top, freq)が計算されます。これにより、データの全体像を簡単に理解することができます。ただし、describe関数はデフォルトで数値データの列のみを考慮しますが、引数を指定することで他のデータ型の列も考慮することが可能です。これらの詳細については後述します。

describe関数の基本的な使い方

Pandasのdescribe関数の基本的な使い方は非常にシンプルです。データフレームに対してdescribeメソッドを呼び出すだけで、各列の基本的な統計量が計算されます。

以下に具体的なコードを示します。

import pandas as pd

# データフレームを作成
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [2, 3, 4, 5, 6],
    'C': ['a', 'b', 'a', 'b', 'a']
})

# describe関数を呼び出す
df.describe()

このコードを実行すると、列’A’と’B’の基本的な統計量(count, mean, std, min, 25%, 50%, 75%, max)が計算され、それらがデータフレームとして表示されます。列’C’は数値データではないため、デフォルトでは無視されます。

なお、describe関数はデフォルトで数値データの列のみを考慮しますが、引数を指定することで他のデータ型の列も考慮することが可能です。これらの詳細については後述します。

describe関数のパラメータ詳細

Pandasのdescribe関数は、以下の主要なパラメータを持っています。

DataFrame.describe(percentiles=None, include=None, exclude=None)
  • percentiles: パーセンタイル値を指定するリスト。デフォルトでは、25%, 50%, 75%のパーセンタイルが計算されます。このパラメータを使用して、計算するパーセンタイルをカスタマイズできます。

  • include: 統計量を計算するデータ型を指定するリスト。デフォルトでは数値型の列のみが考慮されますが、このパラメータを使用して、他のデータ型(’object’, ‘category’など)の列も考慮することができます。

  • exclude: 統計量を計算しないデータ型を指定するリスト。このパラメータを使用して、特定のデータ型の列を統計量の計算から除外することができます。

これらのパラメータを適切に使用することで、describe関数の出力をより詳細に制御することができます。これにより、データ分析のニーズにより適した統計量の概要を得ることができます。具体的な使用例については後述します。

describe関数で得られる統計量の解説

Pandasのdescribe関数で得られる統計量は、データの分布や傾向を理解するための重要な情報を提供します。以下に、各統計量の詳細な解説を行います。

  • count: 非欠損値の数を表します。これは、その列に存在する有効なデータポイントの数を示します。これにより、欠損値の有無やその数を把握することができます。

  • mean: 平均値を表します。これは、全データポイントの合計をデータポイントの数で割ったものです。これにより、データの中心傾向を理解することができます。

  • std: 標準偏差を表します。これは、データポイントが平均からどれだけばらついているかを示す指標です。これにより、データの散らばり具合を理解することができます。

  • min: 最小値を表します。これは、その列のデータポイントの中で最も小さい値を示します。

  • 25%: 第一四分位数を表します。これは、データを小さい順に並べたときに下から25%の位置にくる値を示します。これにより、データの下側の散らばり具合を理解することができます。

  • 50%: 中央値(第二四分位数)を表します。これは、データを小さい順に並べたときにちょうど中央にくる値を示します。これにより、データの中心傾向を理解することができます。

  • 75%: 第三四分位数を表します。これは、データを小さい順に並べたときに下から75%の位置にくる値を示します。これにより、データの上側の散らばり具合を理解することができます。

  • max: 最大値を表します。これは、その列のデータポイントの中で最も大きい値を示します。

これらの統計量は、データの全体像を理解するための基本的なツールとなります。これらを適切に理解し、活用することで、データ分析の精度と効率を向上させることができます。具体的な使用例については後述します。

describe関数を活用したデータ分析の例

Pandasのdescribe関数を活用した具体的なデータ分析の例を以下に示します。

まず、適当なデータフレームを作成します。

import pandas as pd
import numpy as np

# データフレームを作成
np.random.seed(0)
df = pd.DataFrame({
    'A': np.random.rand(100),
    'B': np.random.randn(100),
    'C': np.random.choice(['cat', 'dog', 'rabbit'], 100)
})

このデータフレームに対してdescribe関数を適用します。

df.describe()

これにより、列’A’と’B’の基本的な統計量が計算され、それらがデータフレームとして表示されます。列’C’は数値データではないため、デフォルトでは無視されます。

次に、includeパラメータを使用して、カテゴリカルデータの列も考慮するようにします。

df.describe(include='all')

これにより、列’C’の統計量(unique, top, freq)も計算され、それらがデータフレームとして表示されます。

以上のように、describe関数を活用することで、データの全体像を素早く把握し、データ分析を効率的に進めることができます。特に、大量のデータを扱う場合や、初めて見るデータを分析する場合には、describe関数の活用は非常に有効です。このような基本的なデータ分析手法をマスターすることで、より高度なデータ分析に挑戦するための第一歩となります。この記事がその一助となれば幸いです。

投稿者 kitagawa

コメントを残す

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