Pandasのdescribe()
メソッドについて、基本から応用まで詳しく解説します。
目次
describe()
メソッドの概要
describe()
は、DataFrameやSeriesの統計的要約を簡単に表示するためのメソッドです。
データの分布や特徴をざっくり掴むのにとても便利で、データ分析の探索的データ解析(EDA: Exploratory Data Analysis)の初期段階でよく使われます。
import pandas as pd
df = pd.DataFrame({
'age': [23, 45, 56, 67, 34],
'height': [160, 175, 180, 170, 165],
'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve']
})
print(df.describe())
数値列に対する出力内容
数値データに対しては、以下の統計量が自動的に算出されます。
項目 | 意味 |
---|---|
count | 欠損値を除いた要素数 |
mean | 平均値 |
std | 標準偏差 |
min | 最小値 |
25% | 第1四分位点(Q1) |
50% | 中央値(Q2) |
75% | 第3四分位点(Q3) |
max | 最大値 |
例
print(df[['age', 'height']].describe())
文字列(オブジェクト型)に対する出力
オブジェクト型(文字列など)の列に対しては、別の統計情報が表示されます。
項目 | 意味 |
---|---|
count | 要素数 |
unique | ユニークな値の数 |
top | 最頻値(最もよく出る値) |
freq | 最頻値の出現回数 |
print(df.describe(include=['object']))
include
/ exclude
パラメータ
describe()
は対象となるデータ型を指定できます。
- 数値型だけ(デフォルト動作)
df.describe()
- オブジェクト型も含めたい場合
df.describe(include='all')
パーセンタイルを変更する
デフォルトでは [25%, 50%, 75%]
が表示されますが、任意のパーセンタイルを指定可能です。
df.describe(percentiles=[.1, .5, .9])
DataFrame全体をまとめるテクニック
大規模なデータセットの場合、型ごとにまとめて確認したいことが多いです。
- 全列の統計を一気に見る
df.describe(include='all')
- 数値列だけ確認
df.describe(include=[int, float])
describe()
と似た機能のメソッド
df.info()
→ データ型・欠損値の確認df.value_counts()
→ 各値の出現回数df.mean(), df.std(), df.median()
→ 個別に統計量を計算
describe()
は「データ全体をざっくり把握する」ための最初のステップとしてよく利用されます。
まとめ
describe()
はDataFrameやSeriesの統計的要約を簡単に表示するメソッド。- 数値型 → 平均・標準偏差・四分位数などを表示。
- オブジェクト型 → ユニーク数・最頻値などを表示。
include
/exclude
で対象の型を制御可能。percentiles
で表示する分位点をカスタマイズできる。- データ探索の初期段階で非常に有用。
以上、PythonのPandasのdescribeメソッドについてでした。
最後までお読みいただき、ありがとうございました。