データ分析の第一歩は、手元のデータがどんな構造をしているかを把握することです。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(最頻値の出現回数)が表示されます。カテゴリ的なデータの偏りを確認するのに便利です。
データ型・欠損値の有無・メモリ使用量など、構造を俯瞰する
平均・標準偏差・四分位数など、統計的な特徴を把握する
この 2 つを最初に実行する習慣をつけておくと、データの全体像をつかんでから分析に入れるため、あとから「型が違った」「欠損があった」と手戻りするリスクを減らせます。