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
関数の活用は非常に有効です。このような基本的なデータ分析手法をマスターすることで、より高度なデータ分析に挑戦するための第一歩となります。この記事がその一助となれば幸いです。