Pandasのdescribeメソッドとは
Pandasのdescribe
メソッドは、データフレームの各列に対して基本的な統計的記述を提供します。これには、平均、標準偏差、最小値、25パーセンタイル、中央値(50パーセンタイル)、75パーセンタイル、最大値が含まれます。
df.describe()
このメソッドは、数値データを持つ列に対してのみこれらの統計を計算します。ただし、include
パラメータを使用して、異なるデータ型の列(例えば、カテゴリ型やオブジェクト型)に対する統計を取得することも可能です。
df.describe(include=['object', 'category'])
これにより、データ分析の初期段階でデータセットの概要を素早く把握することができます。ただし、特定の列をdescribe
メソッドの対象から除外したい場合もあります。次のセクションでは、その方法について説明します。
列を除外する基本的な方法
Pandasのデータフレームから特定の列を除外する最も直接的な方法は、その列を選択しないことです。これは、データフレームから特定の列を選択し、それらの列のみに対してdescribe
メソッドを適用することで実現できます。
例えば、データフレームdf
が'A'
, 'B'
, 'C'
の3つの列を持っていて、'A'
列の統計を除外したい場合、以下のようにします:
df[['B', 'C']].describe()
このコードは、'B'
と'C'
の列のみを選択し、それらの列に対してdescribe
メソッドを適用します。結果として得られる統計的記述は、'A'
列を除外したものになります。
この方法は、除外したい列が少数で、それ以外の列に対してdescribe
メソッドを適用したい場合に便利です。しかし、多数の列を持つデータフレームで特定の列だけを除外したい場合、または列のデータ型に基づいて除外したい場合には、次のセクションで説明する方法が適しています。
列のデータ型に基づいて除外する方法
Pandasのデータフレームでは、各列は特定のデータ型(数値、文字列、日付など)を持っています。これを利用して、特定のデータ型を持つ列をdescribe
メソッドの対象から除外することが可能です。
例えば、数値データを持つ列のみにdescribe
メソッドを適用し、文字列データを持つ列を除外したい場合、以下のようにします:
df.describe(include=[np.number])
このコードは、データフレームdf
の数値データを持つ列に対してのみdescribe
メソッドを適用します。結果として得られる統計的記述は、文字列データを持つ列を除外したものになります。
この方法は、特定のデータ型を持つ列を一括で除外したい場合に便利です。ただし、特定の列名を指定して除外したい場合には、前のセクションで説明した方法を使用します。次のセクションでは、これらの方法を組み合わせて使用する実用的な例を紹介します。
実用的な例とその解説
以下に、Pandasのdescribe
メソッドを使用して特定の列を除外する実用的な例を示します。この例では、データフレームdf
が数値データを持つ列'A'
、'B'
、'C'
と文字列データを持つ列'D'
を含んでいると仮定します。
import pandas as pd
import numpy as np
# データフレームの作成
df = pd.DataFrame({
'A': np.random.rand(5),
'B': np.random.rand(5),
'C': np.random.rand(5),
'D': ['apple', 'banana', 'cherry', 'date', 'elderberry']
})
# 'D'列を除外してdescribeメソッドを適用
df.drop('D', axis=1).describe()
このコードは、'D'
列をdrop
メソッドで除外し、その結果のデータフレームに対してdescribe
メソッドを適用します。結果として得られる統計的記述は、'D'
列を除外したものになります。
この方法は、特定の列を指定して除外する場合に便利です。ただし、除外する列が多数ある場合や、列のデータ型に基づいて除外する場合には、前のセクションで説明した方法を使用します。これらの方法を組み合わせて使用することで、データ分析の初期段階でデータセットの概要を効率的に把握することが可能になります。