pandas describe()の使い方|統計量の意味・include=’all’・info()との違いを解説

pandasdescribe() は、DataFrameやSeriesの要約統計量をまとめて確認するメソッドです。

数値列に対して df.describe() を実行すると、countmeanstdmin25%50%75%max が一覧で表示されます。

つまり、describe() は、データの件数・平均・ばらつき・最小値・最大値・中央値などを一度に確認したいときに使います。

CSVやExcelファイルを読み込んだあと、いきなりグラフ化や機械学習に進むのではなく、まず describe() で数値列の特徴を確認しておくと、外れ値・極端な値・欠損値の影響に気づきやすくなります。

この記事では、describe() の基本的な使い方、出力される統計量の意味、include='all'include / excludeinfo() との違いまで、初心者向けに出力例つきで解説します。

この記事でわかること

この記事では、次の内容を扱います。

  • df.describe() の基本的な使い方
  • countmeanstdmin25%50%75%max の意味
  • 数値列と文字列列で describe() の出力がどう変わるか
  • include='all' で全列を確認する方法
  • 日付列で describe() を使った場合の見方
  • include / exclude で対象列を指定する方法
  • percentiles で表示する分位点を変更する方法
  • Series.describe()DataFrame.describe() の違い
  • describe()info() の使い分け
  • describe()mean()std()quantile() の関係

pandas describe()とは?要約統計量をまとめて確認するメソッド

describe() は、DataFrameやSeriesの概要を数値で確認するためのメソッドです。

特に数値列に対して使うと、平均値、標準偏差、最小値、最大値、中央値などをまとめて確認できます。

たとえば、売上データを読み込んだあとに、

  • 売上の平均はいくらか
  • 最小値や最大値に極端な値がないか
  • 中央値と平均値に大きな差がないか
  • データ件数が列ごとにそろっているか

を確認したいときに便利です。

最初に覚えるなら、次のように考えるとわかりやすいです。

メソッド 役割
df.describe() 数値列の統計量をまとめて確認する
df.describe(include='all') 数値列・文字列列を含めて確認する
df.info() 列名・データ型・欠損値・メモリ使用量を確認する

サンプルデータを用意する

ここでは、売上データを例にします。

商品カテゴリ店舗 のような文字列列と、単価数量売上満足度 のような数値列を含むDataFrameを使います。

実際の分析ではCSVやExcelから読み込むことが多いですが、ここでは説明をわかりやすくするために、コード上でDataFrameを作成します。

import pandas as pd

df = pd.DataFrame({
    "日付": pd.to_datetime([
        "2026-01-05", "2026-01-08", "2026-01-12", "2026-01-15",
        "2026-01-20", "2026-01-24", "2026-01-28", "2026-01-31"
    ]),
    "商品": ["ノートPC", "マウス", "キーボード", "モニター", "USBメモリ", "ノートPC", "マウス", "モニター"],
    "カテゴリ": ["PC", "周辺機器", "周辺機器", "周辺機器", "記録媒体", "PC", "周辺機器", "周辺機器"],
    "店舗": ["東京", "東京", "大阪", "大阪", "名古屋", "東京", "名古屋", "大阪"],
    "単価": [120000, 3000, 8000, 32000, 2500, 115000, 2800, 35000],
    "数量": [1, 5, 3, 2, 10, 1, 4, 2],
    "売上": [120000, 15000, 24000, 64000, 25000, 115000, 11200, 70000],
    "満足度": [4.8, 4.2, 4.0, 4.5, 3.8, 4.7, 4.1, 4.4]
})

df
日付 商品 カテゴリ 店舗 単価 数量 売上 満足度
0 2026-01-05 00:00:00 ノートPC PC 東京 120000 1 120000 4.8
1 2026-01-08 00:00:00 マウス 周辺機器 東京 3000 5 15000 4.2
2 2026-01-12 00:00:00 キーボード 周辺機器 大阪 8000 3 24000 4
3 2026-01-15 00:00:00 モニター 周辺機器 大阪 32000 2 64000 4.5
4 2026-01-20 00:00:00 USBメモリ 記録媒体 名古屋 2500 10 25000 3.8
5 2026-01-24 00:00:00 ノートPC PC 東京 115000 1 115000 4.7
6 2026-01-28 00:00:00 マウス 周辺機器 名古屋 2800 4 11200 4.1
7 2026-01-31 00:00:00 モニター 周辺機器 大阪 35000 2 70000 4.4

このDataFrameには、日付列、文字列列、数値列が混在しています。

describe() は、標準では数値列を中心に統計量を表示します。必要に応じて includeexclude を使うと、文字列列や日付列も確認できます。

df.describe()の基本的な使い方

describe() の基本形は次のとおりです。

df.describe()

まずは、そのまま実行してみます。

df.describe()
日付 単価 数量 売上 満足度
count 8 8 8 8 8
mean 2026-01-17 21:00:00 39787.5 3.5 55525 4.3125
min 2026-01-05 00:00:00 2500 1 11200 3.8
25% 2026-01-11 00:00:00 2950 1.75 21750 4.075
50% 2026-01-17 12:00:00 20000 2.5 44500 4.3
75% 2026-01-25 00:00:00 55000 4.25 81250 4.55
max 2026-01-31 00:00:00 120000 10 120000 4.8
std NaN 49708.8 2.9761 43928.9 0.34821

df.describe() を実行すると、標準では数値列だけが対象になります。

今回の例では、単価数量売上満足度 について、件数、平均、標準偏差、最小値、四分位数、最大値が表示されます。

ここで特に大事なのは、出力された数字をそのまま眺めるだけでなく、各項目の意味を理解することです。

describe()で出力される項目の意味

describe() の出力で最初に押さえたい項目は、次の8つです。

項目 意味 初心者向けの見方
count 欠損値を除いた件数 データが何件あるか
mean 平均値 値のだいたいの中心
std 標準偏差 値のばらつき
min 最小値 一番小さい値
25% 第1四分位数 下から25%の位置
50% 中央値 真ん中の値
75% 第3四分位数 下から75%の位置
max 最大値 一番大きい値

それぞれを順番に見ていきます。

count:欠損値を除いた件数

count は、欠損値を除いたデータの件数です。

たとえば、8行のデータがあり、ある列に欠損値がなければ count は8になります。

もし列によって count の値が違う場合は、欠損値が含まれている可能性があります。

df.describe().loc["count"]
count
日付 8
単価 8
数量 8
売上 8
満足度 8

count は、単なる行数ではなく、欠損値を除いた件数です。

欠損値の確認を詳しく行う場合は、info()isnull().sum() と組み合わせて確認します。

mean:平均値

mean は平均値です。

売上データであれば、売上の平均、単価の平均、満足度の平均などを確認できます。

df.describe().loc["mean"]
mean
日付 2026-01-17 21:00:00
単価 39787.5
数量 3.5
売上 55525
満足度 4.3125

平均値は便利ですが、極端に大きい値や小さい値の影響を受けやすい点に注意が必要です。

たとえば、一部の商品だけ売上が非常に大きい場合、平均値だけを見ると全体像を誤解することがあります。

そのため、平均値だけでなく、50% の中央値や minmax も一緒に確認することが大切です。

std:標準偏差

std は標準偏差です。

標準偏差は、値が平均値の周りにどれくらい散らばっているかを表します。

初心者のうちは、次のように考えるとわかりやすいです。

std の状態 見方
小さい 値が平均付近に集まっている
大きい 値のばらつきが大きい

たとえば、売上の std が大きい場合、商品や店舗によって売上に大きな差がある可能性があります。

df.describe().loc["std"]
std
日付 NaN
単価 49708.8
数量 2.9761
売上 43928.9
満足度 0.34821

標準偏差は、平均値とセットで見ると理解しやすくなります。

平均値が同じでも、標準偏差が大きければ値のばらつきが大きく、標準偏差が小さければ値が比較的まとまっていると考えられます。

min / max:最小値・最大値

min は最小値、max は最大値です。

外れ値や入力ミスを見つけるときに役立ちます。

df.describe().loc[["min", "max"]]
日付 単価 数量 売上 満足度
min 2026-01-05 00:00:00 2500 1 11200 3.8
max 2026-01-31 00:00:00 120000 10 120000 4.8

たとえば、年齢データで max が300になっていたり、売上データで min がマイナスになっていたりすると、入力ミスや特殊なデータの可能性があります。

minmax は、データの範囲をざっくり確認するために重要です。

25% / 50% / 75%:四分位数・中央値

25%50%75% は、データを小さい順に並べたときの位置を表します。

項目 意味
25% 下から25%の位置の値
50% 下から50%の位置の値。中央値
75% 下から75%の位置の値

特に 50% は中央値です。

平均値と中央値を比べると、データの偏りに気づきやすくなります。

df.describe().loc[["25%", "50%", "75%"]]
日付 単価 数量 売上 満足度
25% 2026-01-11 00:00:00 2950 1.75 21750 4.075
50% 2026-01-17 12:00:00 20000 2.5 44500 4.3
75% 2026-01-25 00:00:00 55000 4.25 81250 4.55

たとえば、平均値が中央値よりかなり大きい場合、一部に大きな値が含まれている可能性があります。

売上データでは、一部の高額商品や大口注文が平均値を押し上げることがあります。

数値列と文字列列でdescribe()の出力はどう変わるか

describe() は、対象列のデータ型によって出力される項目が変わります。

数値列では、平均値や標準偏差などが表示されます。

一方、文字列列では、uniquetopfreq などが表示されます。

まず、数値列だけを対象にした場合を確認します。

df[["単価", "数量", "売上", "満足度"]].describe()
単価 数量 売上 満足度
count 8 8 8 8
mean 39787.5 3.5 55525 4.3125
std 49708.8 2.9761 43928.9 0.34821
min 2500 1 11200 3.8
25% 2950 1.75 21750 4.075
50% 20000 2.5 44500 4.3
75% 55000 4.25 81250 4.55
max 120000 10 120000 4.8

次に、文字列列だけを対象にして describe() を実行します。

df[["商品", "カテゴリ", "店舗"]].describe()
商品 カテゴリ 店舗
count 8 8 8
unique 5 3 3
top ノートPC 周辺機器 東京
freq 2 5 3

文字列列では、数値列とは違う項目が表示されます。

項目 意味
count 欠損値を除いた件数
unique 値の種類数
top 最も多く出現する値
freq top の出現回数

たとえば、カテゴリtop が「周辺機器」で、freq が多ければ、周辺機器カテゴリの商品が多いことがわかります。

このように、describe() は数値列だけでなく、文字列列の概要確認にも使えます。

日付列をdescribe()で確認する場合

describe() は、日付列に対しても使えます。

日付列を確認すると、最も古い日付、最も新しい日付、件数などを把握できます。

まず、日付 列だけを指定して describe() を実行してみます。

df["日付"].describe()
日付
count 8
mean 2026-01-17 21:00:00
min 2026-01-05 00:00:00
25% 2026-01-11 00:00:00
50% 2026-01-17 12:00:00
75% 2026-01-25 00:00:00
max 2026-01-31 00:00:00

日付列に対する describe() では、データの件数や最小日付、最大日付などを確認できます。

日付データを扱うときは、次のような確認に役立ちます。

見たいこと 確認する項目
何件の日付データがあるか count
最も古い日付 min
最も新しい日付 max

売上データやアクセス解析データでは、集計対象の期間が想定どおりかを確認するために使えます。

ただし、日付列の詳しい集計には、dt アクセサや resample() を使うことも多いです。describe() は、日付データの範囲をざっくり確認する入口として使うと考えるとよいです。

describe()の便利な引数

ここでは、describe() でよく使う引数を整理します。

include='all'includeexcludepercentiles を使えるようになると、確認したい列や分位点を指定しやすくなります。

include=’all’ですべての列を確認する

標準の df.describe() は、基本的に数値列を対象にします。

数値列と文字列列をまとめて確認したい場合は、include='all' を指定します。

df.describe(include="all")
日付 商品 カテゴリ 店舗 単価 数量 売上 満足度
count 8 8 8 8 8 8 8 8
unique NaN 5 3 3 NaN NaN NaN NaN
top NaN ノートPC 周辺機器 東京 NaN NaN NaN NaN
freq NaN 2 5 3 NaN NaN NaN NaN
mean 2026-01-17 21:00:00 NaN NaN NaN 39787.5 3.5 55525 4.3125
min 2026-01-05 00:00:00 NaN NaN NaN 2500 1 11200 3.8
25% 2026-01-11 00:00:00 NaN NaN NaN 2950 1.75 21750 4.075
50% 2026-01-17 12:00:00 NaN NaN NaN 20000 2.5 44500 4.3
75% 2026-01-25 00:00:00 NaN NaN NaN 55000 4.25 81250 4.55
max 2026-01-31 00:00:00 NaN NaN NaN 120000 10 120000 4.8
std NaN NaN NaN NaN 49708.8 2.9761 43928.9 0.34821

include='all' を指定すると、数値列と文字列列の両方が表示されます。

ただし、数値列にしか意味がない項目や、文字列列にしか意味がない項目があるため、該当しない部分は NaN と表示されます。

列の種類 主に表示される項目
数値列 meanstdmin25%50%75%max
文字列列 uniquetopfreq

include='all' は、データ全体をざっと確認したいときに便利です。

includeで対象列を指定する

describe() では、includeexclude を使って対象にする列の種類を指定できます。

たとえば、文字列列だけを確認したい場合は、include="object" を使います。

df.describe(include="object")
商品 カテゴリ 店舗
count 8 8 8
unique 5 3 3
top ノートPC 周辺機器 東京
freq 2 5 3

数値列だけを明示的に確認したい場合は、include="number" を使います。

df.describe(include="number")
単価 数量 売上 満足度
count 8 8 8 8
mean 39787.5 3.5 55525 4.3125
std 49708.8 2.9761 43928.9 0.34821
min 2500 1 11200 3.8
25% 2950 1.75 21750 4.075
50% 20000 2.5 44500 4.3
75% 55000 4.25 81250 4.55
max 120000 10 120000 4.8

逆に、数値列を除外したい場合は、exclude="number" を使います。

df.describe(exclude="number")
日付 商品 カテゴリ 店舗
count 8 8 8 8
unique NaN 5 3 3
top NaN ノートPC 周辺機器 東京
freq NaN 2 5 3
mean 2026-01-17 21:00:00 NaT NaT NaT
min 2026-01-05 00:00:00 NaT NaT NaT
25% 2026-01-11 00:00:00 NaT NaT NaT
50% 2026-01-17 12:00:00 NaT NaT NaT
75% 2026-01-25 00:00:00 NaT NaT NaT
max 2026-01-31 00:00:00 NaT NaT NaT

includeexclude は、列数が多いDataFrameで役立ちます。

たとえば、数十列あるデータで文字列列だけを確認したい場合、手作業で列名を選ぶよりも効率的です。

やりたいこと 書き方
数値列だけ確認 df.describe(include="number")
文字列列だけ確認 df.describe(include="object")
すべての列を確認 df.describe(include="all")
数値列を除外 df.describe(exclude="number")

percentilesで表示する分位点を変更する

標準の describe() では、25%50%75% が表示されます。

この分位点は、percentiles 引数で変更できます。

たとえば、10%、50%、90%の位置を確認したい場合は、次のように書きます。

df.describe(percentiles=[0.1, 0.5, 0.9])
日付 単価 数量 売上 満足度
count 8 8 8 8 8
mean 2026-01-17 21:00:00 39787.5 3.5 55525 4.3125
min 2026-01-05 00:00:00 2500 1 11200 3.8
10% 2026-01-07 02:24:00 2710 1 13860 3.94
50% 2026-01-17 12:00:00 20000 2.5 44500 4.3
90% 2026-01-28 21:36:00 116500 6.5 116500 4.73
max 2026-01-31 00:00:00 120000 10 120000 4.8
std NaN 49708.8 2.9761 43928.9 0.34821

percentiles=[0.1, 0.5, 0.9] とすると、10%、50%、90%の位置が表示されます。

外れ値の影響や、上位・下位の分布をもう少し細かく見たいときに使えます。

ただし、初心者のうちは、まず標準の 25%50%75% を読めるようになれば十分です。

Series.describe()とDataFrame.describe()の違い

describe() は、DataFrame全体にも、1つの列であるSeriesにも使えます。

DataFrameに使う場合は、列ごとに統計量が表示されます。

df.describe()
日付 単価 数量 売上 満足度
count 8 8 8 8 8
mean 2026-01-17 21:00:00 39787.5 3.5 55525 4.3125
min 2026-01-05 00:00:00 2500 1 11200 3.8
25% 2026-01-11 00:00:00 2950 1.75 21750 4.075
50% 2026-01-17 12:00:00 20000 2.5 44500 4.3
75% 2026-01-25 00:00:00 55000 4.25 81250 4.55
max 2026-01-31 00:00:00 120000 10 120000 4.8
std NaN 49708.8 2.9761 43928.9 0.34821

1つの列だけに使う場合は、Seriesに対して describe() を実行します。

df["売上"].describe()
売上
count 8
mean 55525
std 43928.9
min 11200
25% 21750
50% 44500
75% 81250
max 120000

df["売上"].describe() のように書くと、売上列だけの統計量を確認できます。

特定の列だけ詳しく見たい場合は、Seriesの describe() が便利です。

また、複数列だけ確認したい場合は、次のように列名をリストで指定します。

df[["単価", "売上"]].describe()
単価 売上
count 8 8
mean 39787.5 55525
std 49708.8 43928.9
min 2500 11200
25% 2950 21750
50% 20000 44500
75% 55000 81250
max 120000 120000

ここで、df["売上"]df[["売上"]] の違いにも注意しましょう。

書き方 返るもの
df["売上"] Series
df[["売上"]] DataFrame

初心者のうちは、1列だけなら df["売上"].describe()、複数列なら df[["単価", "売上"]].describe() と覚えるとよいです。

describe()とinfo()の違い

describe() と一緒に使われることが多いのが info() です。

どちらもDataFrameの確認に使いますが、確認できる内容が違います。

メソッド 確認できること 主な使いどころ
info() 行数、列名、欠損値の有無、データ型、メモリ使用量 データ構造を確認したいとき
describe() 平均、標準偏差、最小値、中央値、最大値など 数値の分布や統計量を確認したいとき

実際に info() を実行してみます。

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 8 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   日付      8 non-null      datetime64[ns]
 1   商品      8 non-null      object        
 2   カテゴリ    8 non-null      object        
 3   店舗      8 non-null      object        
 4   単価      8 non-null      int64         
 5   数量      8 non-null      int64         
 6   売上      8 non-null      int64         
 7   満足度     8 non-null      float64       
dtypes: datetime64[ns](1), float64(1), int64(3), object(3)
memory usage: 644.0+ bytes

info() では、列ごとのデータ型や欠損していない件数を確認できます。

一方、describe() では、平均値や標準偏差などの統計量を確認できます。

おすすめの順番は次のとおりです。

  1. df.info() で列名・型・欠損値を確認する
  2. df.describe() で数値列の統計量を確認する
  3. df.describe(include='all') で文字列列も含めて確認する

この流れにすると、データの全体像をつかみやすくなります。

describe()とmean()・std()・quantile()の違い

describe() の出力項目は、個別のメソッドでも確認できます。

確認したいこと 個別メソッド
平均値 mean()
標準偏差 std()
最小値 min()
中央値 median()
最大値 max()
分位点 quantile()

たとえば、売上の平均値だけを確認したい場合は、mean() を使えます。

df["売上"].mean()
55525.0

売上の標準偏差だけを確認したい場合は、std() を使えます。

df["売上"].std()
43928.89546918812

中央値や四分位数を確認したい場合は、quantile() が使えます。

df["売上"].quantile([0.25, 0.5, 0.75])
売上
0.25 21750
0.5 44500
0.75 81250

describe() は、これらの統計量をまとめて確認するためのメソッドです。

場面 おすすめ
まず全体像を見たい describe()
平均だけ知りたい mean()
ばらつきだけ見たい std()
中央値や四分位数を詳しく見たい quantile()

最初は describe() で全体を確認し、気になる列があれば個別メソッドで深掘りするとよいです。

describe()で外れ値や極端な値に気づく例

describe() は、外れ値や極端な値に気づく入口としても役立ちます。

ここでは、売上に極端に大きい値が1つ入ったデータを作って、describe() の見え方を確認します。

df_outlier = df.copy()
df_outlier.loc[7, "売上"] = 700000

df_outlier[["商品", "売上"]]
商品 売上
0 ノートPC 120000
1 マウス 15000
2 キーボード 24000
3 モニター 64000
4 USBメモリ 25000
5 ノートPC 115000
6 マウス 11200
7 モニター 700000
df_outlier["売上"].describe()
売上
count 8
mean 134275
std 232697
min 11200
25% 21750
50% 44500
75% 116250
max 700000

この例では、max が大きくなり、mean も引き上げられます。

一方で、50% の中央値は、極端な値の影響を平均値ほど大きく受けません。

このように、describe() を見るときは、次の組み合わせで確認すると実務で使いやすくなります。

見る項目 チェックすること
mean50% 平均値と中央値が大きく離れていないか
minmax 極端に小さい値・大きい値がないか
std ばらつきが大きすぎないか

describe() だけで外れ値を完全に判断することはできませんが、外れ値に気づく最初のチェックとして有効です。

欠損値がある場合のdescribe()の見方

describe()count は、欠損値を除いた件数です。

ここでは、あえて欠損値を含むDataFrameを作って確認します。

df_nan = df.copy()
df_nan.loc[2, "売上"] = pd.NA
df_nan.loc[5, "満足度"] = pd.NA

df_nan
日付 商品 カテゴリ 店舗 単価 数量 売上 満足度
0 2026-01-05 00:00:00 ノートPC PC 東京 120000 1 120000 4.8
1 2026-01-08 00:00:00 マウス 周辺機器 東京 3000 5 15000 4.2
2 2026-01-12 00:00:00 キーボード 周辺機器 大阪 8000 3 NaN 4
3 2026-01-15 00:00:00 モニター 周辺機器 大阪 32000 2 64000 4.5
4 2026-01-20 00:00:00 USBメモリ 記録媒体 名古屋 2500 10 25000 3.8
5 2026-01-24 00:00:00 ノートPC PC 東京 115000 1 115000 NaN
6 2026-01-28 00:00:00 マウス 周辺機器 名古屋 2800 4 11200 4.1
7 2026-01-31 00:00:00 モニター 周辺機器 大阪 35000 2 70000 4.4
df_nan.describe()
日付 単価 数量 売上 満足度
count 8 8 8 7 7
mean 2026-01-17 21:00:00 39787.5 3.5 60028.6 4.25714
min 2026-01-05 00:00:00 2500 1 11200 3.8
25% 2026-01-11 00:00:00 2950 1.75 20000 4.05
50% 2026-01-17 12:00:00 20000 2.5 64000 4.2
75% 2026-01-25 00:00:00 55000 4.25 92500 4.45
max 2026-01-31 00:00:00 120000 10 120000 4.8
std NaN 49708.8 2.9761 45410 0.335942

元のデータは8行ですが、欠損値が入った列では count が8より小さくなります。

このように、describe()count を見ると、欠損値の有無に気づくきっかけになります。

ただし、欠損値を正確に確認するなら、isnull().sum() を使う方がわかりやすいです。

df_nan.isnull().sum()
日付 0
商品 0
カテゴリ 0
店舗 0
単価 0
数量 0
売上 1
満足度 1

describe() は欠損値チェックの入口にはなりますが、欠損値の場所や件数を詳しく見るには isnull() と組み合わせるのがおすすめです。

よくあるミス

ここでは、describe() を使うときに初心者がつまずきやすいポイントを整理します。

数値列しか表示されないと思って混乱する

df.describe() は、標準では主に数値列を対象にします。

文字列列も確認したい場合は、include='all'include='object' を使います。

df.describe(include='all')
df.describe(include='object')

countを行数だと思ってしまう

count は、欠損値を除いた件数です。

行数そのものを確認したい場合は、len(df)df.shape を使います。

50%を平均値だと思ってしまう

50% は中央値です。

平均値は mean です。

平均値と中央値は違うので、混同しないようにしましょう。

stdの意味がわからないまま読み飛ばす

std は標準偏差で、値のばらつきを表します。

細かい数式まで理解しなくても、初心者のうちは「大きいほどばらつきが大きい」と考えれば十分です。

include=’all’でNaNが出て不安になる

include='all' では、数値列にしか意味がない項目、文字列列にしか意味がない項目が混在します。

そのため、該当しない部分に NaN が出ることがあります。

これはエラーではありません。

実務でのおすすめ確認手順

CSVやExcelを読み込んだあと、最初に何を確認すればよいかわからない場合は、次の順番がおすすめです。

df.head()
df.info()
df.describe()
df.describe(include='all')
df.isnull().sum()

それぞれの役割は次のとおりです。

手順 使うメソッド 確認すること
1 head() データの先頭を確認
2 info() 列名・型・欠損値を確認
3 describe() 数値列の統計量を確認
4 describe(include='all') 文字列列も含めて確認
5 isnull().sum() 欠損値の件数を確認

この流れを覚えておくと、データ分析の最初の確認で迷いにくくなります。

まとめ

この記事では、pandasdescribe() の使い方を解説しました。

describe() は、DataFrameやSeriesの要約統計量をまとめて確認するメソッドです。

特に数値列では、次の項目を確認できます。

項目 意味
count 欠損値を除いた件数
mean 平均値
std 標準偏差
min 最小値
25% 第1四分位数
50% 中央値
75% 第3四分位数
max 最大値

重要なポイントは次のとおりです。

  • df.describe() は標準では数値列を中心に表示する
  • 文字列列も含めたい場合は include='all' を使う
  • 文字列列だけ確認したい場合は include='object' を使う
  • 数値列を除外したい場合は exclude='number' を使う
  • percentiles で表示する分位点を変更できる
  • 日付列では、件数や最小日付・最大日付の確認に使える
  • mean50%minmax を見ると、外れ値や偏りに気づきやすい
  • describe() は統計量、info() は型・欠損値・列構造の確認に向いている
  • まず info() で構造を確認し、その後 describe() で数値の特徴を見るとよい

describe() を使いこなせるようになると、データを読み込んだ直後に、平均値・ばらつき・外れ値・欠損値の手がかりをすばやく確認できます。

公式ドキュメント

より詳しい仕様を確認したい場合は、pandas公式ドキュメントも参考になります。

初心者のうちは、この記事で基本的な読み方を押さえたうえで、引数や細かい仕様を公式ドキュメントで確認する流れがおすすめです。

次に読みたい関連記事

describe() を理解したあとは、次の記事もあわせて読むと、DataFrameの確認・前処理・集計までつながりやすくなります。

▲ ページトップへ戻る

コメント

タイトルとURLをコピーしました