このノートは、データラングリング(データの加工・整形)に関するExploratoryの機能を効率的に手を動かしながら体験していただくために用意された「データラングリング」のトライアルツアーの第3弾、「テキストデータの加工」編です。
テキストデータを扱っていく際によくある問題として、表記揺れがあったり、不要な文字や記号などが含まれていて文字列が綺麗に整えられていない、またはある文字列を置換、抽出したいといったことがよくあります。
Exploratoryでは、テキストデータの加工のUIを使って柔軟にテキストデータを加工していくことができます。
そこで、このパートでは、テキストデータを加工して文字列を綺麗に整えたり、文字列に対して置換や抽出する際の便利な機能を体験していただければと思います。
所要時間は20分ほどとなっています。
それでは、さっそく始めていきましょう!
これらの文字が主体となったデータのことを「テキストデータ」と言い、ExploratoryではデータタイプがCharacter型(文字列型)として表されます。
人間の目で見れば同じものだと認識できますが、システムとしては文字列の表記が異なるだけで別々の値として扱われてしまい、集計やチャートで可視化した際に間違った結果につながってしまうことがあります。
そこで、同じ意味を表す値は、同じ文字列として整える必要があります。これを行うのが「テキストデータの加工」です。
テキストデータの加工には、大きく分けて以下の4つのタイプがあります。
Exploratoryでは、列ヘッダメニューから「テキストデータの加工」を選択することで、豊富な操作タイプを呼び起こして、さまざまなテキストデータの問題を簡単に解決していくことが可能です。
今回はサンプルデータとして、以下の2つのデータを使用します。それぞれのデータはリンク先のページからダウンロードできます。
データをダウンロードできたら、ダウンロードしたフォルダを開き、「ユニコーン企業」と「コピー機の注文データ」のファイルをまとめて選択し、Exploratoryの画面にドラッグ&ドロップします。
インポートのファイル選択のダイアログが表示されるため、「インポート」のボタンをクリックします。
インポートダイアログの左側にある項目から、インポート時の設定を行うことが可能ですが、今回は設定は不要なため「全てをOK」のボタンをクリックします。
「ユニコーン企業」と「コピー機の注文」のデータを一気にインポートすることができました。
このパートではユニコーン企業のデータを使用していきます。1行が1企業かつ、投資家ごとに行が分かれているデータとなっています。
投資家の列にある「Softbank」に注目をしてみると、「Softbank Group」や「Softbank Corp」といった文字列になっていることがわかります。
Softbank GroupのGroupの文字を取り除いて、Softbankにしていきたいです。
列ヘッダメニューから「テキストデータの加工」の「取り除く」の「文字列」を選択します。
テキストデータの加工のダイアログが表示されました。
検索ボックスに「softbank」と指定することで、「softbank」の文字列が含まれる値のみが表示されます。
「Softbank Group」の「Group」の文字を取り除いて、Softbankにしたいです。
文字に「Group」を指定します。そうすることで、元の値のGroupという文字が太文字でハイライトされています。
プレビューボタンをクリックすると、Groupを取り除いてSoftbankになっていることがわかります。
ちなみに、「大文字・小文字を無視する」のオプションが適用されていたために、「group」といった先頭が全て小文字のものでも文字列が一緒なので取り除かれていました。
「大文字・小文字を無視する」のチェックを外すと、「文字」に指定したものと完璧にマッチしない限り、取り除かれないようになっています。
今回は文字列さえ一致していれば大文字・小文字は関係なしに取り除きたいため、「大文字・小文字を無視する」にチェックをつけます。
Groupの文字列は取り除くことができましたが、「Corp」や「Capital」といった文字列も一緒に取り除きたいです。
タイプに「文字列(複数の候補)」を選択します。
文字に「Croup, Corp, Capital」のように、カンマ(,)区切りで取り除きたい文字列を複数指定します。
プレビューボタンをクリックすることで、新しい値を「Softbank」としてきれいに整えることができました。
実行をすることで、「Group」や「Corp」などの文字列を取り除き、「Softbank」のようにきれいに整えることができました。
投資家の列の「i」をクリックすることで、「Softbank」が投資した企業数は31件あることがわかります。
このパートでは、コピー機の注文データを使用していきます。1行が1つの注文、かつ商品ごとに行が分かれているデータです。
自分がコピー機の販売担当をしているケースとして、製品サブカテゴリーを「コピー機」に絞り込まれています。
製品名の列に注目すると「Hewlett Packard」の製品は「HP」や「Hewlett」といった文字列になっており、表記が統一されていないことがわかります。
そのため製品名の中にある「Hewlett」といった文字列を「HP」に置き換えたいです。
列ヘッダメニューから「テキストデータの加工」の「置換する」の「文字列」を選択します。
テキストデータの加工のダイアログが表示されました。
検索ボックスに「Hewlett」と指定することで、「Hewlett」の文字列が含まれる値のみが表示されます。
変換元の文字に「Hewlett」を、変換先の文字に「HP」を指定します。そうすることで、元の値の「Hewlett」という文字が太文字でハイライトされています。
プレビューボタンをクリックすると、「Hewlett」が「HP」といった文字で置き換わっていることがわかります。
「Hewlett」を「HP」に置き換えることはできましたが、他にも「Hewlett Packard」といった文字列が含まれていることがわかります。そのため、「Hewlett Packard」と「Hewlett」を同時に「HP」に置き換えたいです。
タイプに「文字列(複数の候補)」を選択します。
文字に「Hewlett Packard, Hewlett」のように、カンマ(,)区切りで置換したい文字列を複数指定します。
プレビューボタンをクリックすることで、「Hewlett Packard」と「Hewlett」を「HP」として置き換えられていることがわかります。
実行をすることで、「Hewlett Packard」と「Hewlett」を「HP」として置き換えることができ、異なる表記になっていた文字列を統一することができました。
1つ前のパートで使用したものと同じ、「コピー機の注文データ」を使用します。
先程は、製品名の「Hewlett Packard」と「Hewlett」を「HP」として置き換えましたが、今回は「製品名」の列からブランド名を抽出して新しく列として作成したいです。
製品名の列から「テキストデータの加工」の「抽出する」の「最初の単語」を選択します。
抽出する単語のタイプには「最初の単語」を、区切り文字には「スペース( )」を選択します。
プレビューを実行することで、最初の単語にあるブランド名を抽出できていることが確認できます。
新しく列を作成にチェックをつけて列名を指定し、「実行」ボタンをクリックします。
製品名からブランド名を抽出した「ブランド」の列を作成することができました。
ブランドの列の「i」をクリックすることでどのブランドの販売数量が多いのかを確認することができます。今回のデータでは、「HP」は294件と最も多いことがわかります。
データラングリングのトライアルツアーのテキストデータの加工編は以上となります!
データラングリングのトライアルツアーの他のパートは下記のリンクからご確認いただけます。ぜひ次の「ラングリングの便利な機能」のパートも実施してみてください。