データ分析の実務では、体裁が整っていないデータを扱うことも多く、データクレンジングは重要な工程と言えるでしょう。エクセルやPythonなどでもこうした処理は可能ですが、今回はGoogle Cloud Dataprepを使ったデータクレンジングを試してみたいと思います。
最初にダミーデータ作成ツールを使い、顧客名や電話番号、住所などが入ったリストを作成しました(クレンジングの練習用に、数字にハイフン等を加えています)。ここからDataprepを使いデータを処理します。手順は以下の通りです。
①GCPのホームより、画面左側のメニューからDataprepを選択します。
②遷移後、画面右上からデータをインポートし、ライブラリに対象データが追加されたことを確認します。
③一度ホーム画面に戻り、「Import Data」ボタンの下にある「Create Flow」をクリック、「Add Datasets」から先程追加したデータセットを追加し、遷移後のフロー図に表示される「Add New Recipe」より処理内容を設定します。
④レシピを追加後、画面右側の「Edit Recipe」から以下の画面に遷移します。データについて、文字列か数値かなどのデータ型は自動的に判定され、表記ゆれのある場合、列名の下が赤く表示されるようになっています。
⑤「携帯電話」の列を見てみましょう。列名をクリックすると、ユニークな値の種類や入力パターン、さらには改善案が表示されます。この場合、電話番号の一部にハイフンが入ってしまっており、表記が統一されていないことが分かります。
⑥ハイフンを削除しましょう。この場合、まず「Replace」→「Text or pattern」を選択します。
次に「Find」欄に「{delim}
」を入力、「Replace with」を空欄にすることでハイフンを削除できます。さらに「Advanced options」→「Match all occurences」ボックスにチェックを入れることで、列内のすべてのハイフンを削除できます。処理後のプレビューは、当該の列の右側に表示されるので、内容を確認しながら作業できます。問題なければ、画面右下の「Add」ボタンを押します。
⑦レシピを追加したら、画面右上の「Run job」をクリックします。デフォルトでは、処理後のデータはCSV形式で出力されますが、BigQueryに格納することもできます。
Dataprepを使えば、大容量のデータもGUI操作で手早くクレンジングしデータベースに格納できます。このほかにも、データのルックアップや結合などさまざまな機能があり、実務で役立つことも多いのではないでしょうか。Dataprepの機能については以下の公式ガイドも参考になります。