7章データのクリーニングと前処理
データ分析やモデリングを行う過程で、かなりの時間がデータの前処理に使われます。データの前処理とは、読み込みやクリーニング、変形、整形といった作業のことで、分析者の時間の80 %以上を占めると言われることもあります。その理由としては、扱いたいデータがファイルやデータベースに保存されていても、行いたい作業にとって適切な形式で保存されていないことがあるためです。そのような場合に多くの分析者は、汎用的なプログラミング言語を用いて、データを別の形式に変換するためのアドホックな処理を行います。ここで使われるプログラミング言語としては、PythonやPerl、R、Java、あるいはUnixのテキスト処理ツールであるsedやawkなどがあります。幸いなことに、pandas本体や、pandasから使えるPython組み込みの機能では、高度で柔軟性も高く、高速なツールセットが提供されていますので、それらを用いてデータを適切な形に変換する作業ができます。
もし、みなさんの行いたいデータ操作方法がこの本に書かれておらず、pandasライブラリのどこにも見当たらない場合は、何らかのPythonのメーリングリストやpandasのGitHubサイトに、遠慮なくそのユースケースを共有してみてください。実際、pandasの機能の多くは、そういった機能を使用したいという実世界の声やニーズに刺激される形で、設計や実装をされてきました。
この章では、欠損値や重複データの処理、文字列操作など、分析に必要なデータの変形のためのツールを取り上げます。また次の章では、データセットの結合やさまざまな整形方法に焦点を当てます。
7.1 欠損値の取り扱い
欠損値は、さまざまなデータ分析事例においてよく発生するテーマです。その欠損値の取り扱いをできる限り面倒臭くないようにする、というのがpandasが目指す目的の1つです。例えば、デフォルトでは、pandasオブジェクトの記述統計量の算出時 ...