データサイエンス100本ノックをAlteryxで。79日目(解答)

100本ノック

このページは解答編です。

↓ネ

↓タ

↓バ

↓レ

↓防

↓止

答えと解説

設問はこちらでした。

P-079: 商品データ(product.csv)の各項目に対し、欠損数を確認せよ。

※出力結果は、フィールド名の昇順で出力すること

解答ワークフローは以下のようになります。

今回は、欠損値を確認する問題です。欠損値は「Null」ですので、Nullをカウントすれば良いということになります。

Rツールを使ったワークフロー

データ調査タブの中に「基本データプロファイル」というツールがあります。このツールを使うことで、各フィールドの記述統計量が得られます。

基本データプロファイルツール

このツールに通すことで、各フィールドの記述統計量が得られます。非常に多くの統計値が取れるので詳細はヘルプをご確認ください。

なお、いくつかオプションがありますが、極端に多くのデータ、極端に長い文字などを扱うときはパフォーマンスをあげるために上限を設定するオプションがあります。

なお、「メトリック単位を使用する」オプションは、チェックを入れることで空間オブジェクトの長さなどの単位がメートル法のものになります(チェックを付けなければ、マイルベースの単位で計算されます)。

実際のワークフローでは、上のデータプロファイルツールの結果に対して、Nullをカウントしたレコードがあることが確認できるため、この行だけ抜き出せば良いことになります。

フィルターツールでNullsを抜き出しましょう。

あとは、フィールド名を整えて、フィールド名の昇順で並び替えれば完了です。

実際のワークフローは以下の通りとなります。

通常のツールを使ったワークフローの作成

次に、通常のツールを使って作成してみましょう。

Nullをカウントするには集計ツールを使えば良いです。しかしながら、今回6つのフィールドがあるため、6回も集計ツールを使うのは面倒です。

このような時に使えるのが転置ツールです。すべての項目を縦方向に持ちたい場合は、全てのフィールドにチェックを付ければおしまいです。

これにより、フィールド名は「Name」というフィールドに格納し、該当する値は「Value」というフィールドに格納されます。

先頭から10レコードのみ表示

あとは、集計ツールを使い、Nameでグループ化し、Valueの「Nullのカウント」を取れば欲しい物が得られます。

あとは、フィールド名の昇順で並び替えれば完了です。

最終的なワークフローは以下の通りとなります。

まとめ

今回は欠損値(Null)をカウントする問題でした。フィールドサマリーツールなどでもNullの割合は出てくるのですが、数は出ないため基本データプロファイルツールが必要となります。それ以外にも基本的なツールの組み合わせでも実現可能です。

解答ワークフローダウンロード

コメント

タイトルとURLをコピーしました