Skip to Content
Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
book

Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

by Jake VanderPlas, 菊池 彰
February 2024
Intermediate to advanced
576 pages
9h 17m
Japanese
O'Reilly Japan, Inc.
Content preview from Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

16章欠損値の扱い

実世界のデータがチュートリアルと違うのは、実世界のデータが雑然としており均質でもないという点です。特に、興味深いデータセットの多くでは一定量のデータが欠落しています。データソースが異なれば、欠けるデータも異なることが、問題をさらに複雑にします。

この章では、欠損値に関する一般的な考慮事項について説明し、pandasが欠損値を表現する方法と、欠損値をPythonで処理するためにpandasが提供するツールを説明します。本書全体を通して、欠損値を一般的にnull値、NaN値、またはNA値と呼びます。

16.1 欠損値表現のトレードオフ

テーブルやDataFrameが持つ欠損値を表現するために、数多くの手法が開発されました。それらは一般的に2つの戦略、つまり欠損値を示すための大域的に示すマスクを使用するか、または欠損値を示す特殊値†1を使用するかに大別されます。

[†1] 訳注:こうした特殊値を番兵(sentinel value)と呼ぶ。例えばC言語文字列の終端を表すヌル文字や、何も指さないポインタを表すNULLポインタ、ファイルの終端に達したことを示す戻り値EOFなどが番兵に相当する。

マスク方式では、ブール値配列を別に用意したり、欠損値を示すためにデータ表現の1ビットを割り当てる方法などが使用されます。

特殊値を使用する場合、整数の欠損値を表すために-9999や特殊なビットパターンを用いるなど、データ特有の規則を使用することもあれば、IEEE 754の浮動小数点数仕様で特殊値を示すNaN(「非数(Not a Number」)を用いて、浮動小数点数の欠損値を表す一般的な規則を使用することもあります。

どちらのアプローチも、トレードオフが存在します。マスク配列を別に用意すると、その配列を追加するための記憶域と演算のオーバーヘッドが生じます。特殊値は、表現可能な値の範囲を減らし、 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

Jake VanderPlas, 菊池 彰
推薦システム実践入門 ―仕事で使える導入ガイド

推薦システム実践入門 ―仕事で使える導入ガイド

風間 正弘, 飯塚 洸二郎, 松村 優也
プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

プロダクトマネージャーのしごと 第2版 ―1日目から使える実践ガイド

Matt LeMay, 永瀬 美穂, 吉羽 龍太郎, 原田 騎郎, 高橋 一貴

Publisher Resources

ISBN: 9784814400638Publisher Website