pandas の info と describe でデータの概要をつかむ

データ分析の第一歩は、手元のデータがどんな構造をしているかを把握することです。pandas には DataFrame の概要を素早く確認するためのメソッドがいくつか用意されており、なかでも info と describe はもっとも頻繁に使われます。

info でデータの構造を確認する

info メソッドは、行数・列数・各列の型・欠損値の有無をまとめて表示してくれます。

import pandas as pd

df = pd.DataFrame({
    "name": ["Alice", "Bob", None, "Diana"],
    "age": [25, 30, 35, None],
    "score": [88.5, 92.0, 76.3, 95.1]
})
df.info()

出力には各列の Non-Null Count(欠損でない件数)とデータ型(dtype)が含まれます。全体の行数と比較すれば、どの列にどれだけ欠損があるかが一目でわかるわけです。

RangeIndex行数とインデックスの範囲
Data columns列の総数
Non-Null Count欠損でない値の件数
Dtype各列のデータ型
memory usageメモリ使用量の概算

大きなデータを扱うときは memory usage の値もチェックしておくとよいでしょう。想定より大きい場合は、型の見直しやカテゴリ型への変換を検討できます。

describe で統計量を確認する

describe メソッドは、数値列の基本統計量をまとめて算出します。

df.describe()

デフォルトでは count(件数)、mean(平均)、std(標準偏差)、min(最小値)、25%・50%・75%(四分位数)、max(最大値)が表示されます。データの分布やばらつきを瞬時につかめるため、外れ値の有無を判断する手がかりになります。

文字列列も含めて確認する

describe はデフォルトでは数値列のみを対象としますが、include 引数を指定すれば文字列列やすべての列を対象にできます。

df.describe(include="all")

文字列列に対しては count(件数)、unique(ユニーク数)、top(最頻値)、freq(最頻値の出現回数)が表示されます。カテゴリ的なデータの偏りを確認するのに便利です。

info

データ型・欠損値の有無・メモリ使用量など、構造を俯瞰する

describe

平均・標準偏差・四分位数など、統計的な特徴を把握する

この 2 つを最初に実行する習慣をつけておくと、データの全体像をつかんでから分析に入れるため、あとから「型が違った」「欠損があった」と手戻りするリスクを減らせます。