
住所データの中に郵便番号と住所が混在している場合、その後の分析や可視化において支障をきたすことがあります。例えば、住所を都道府県や市区町村ごとに分割してチャートで可視化したい場合、先頭に郵便番号が含まれていると正しく処理できないケースが多いためです。
データの質を向上させ、分析に適した形式に整えるためには、住所列から郵便番号のみを効率的に取り除く必要があります。今回は、Exploratoryの「AIプロンプト」機能や「テキストデータの加工」を使用して、住所から郵便番号を削除し、住所のみを残す手順を紹介します。
住所列に「123-4567 東京都…」のように郵便番号と住所が1つの列にまとまってしまっている。 郵便番号が混ざっていることで、住所をベースにした地理的な分割や可視化が困難になる。 郵便番号の形式(3桁-4桁)を正確に特定し、一括で削除するための効率的な方法が必要である。
今回使用するデータは、Airbnbの東京の宿泊施設データです。このデータには「住所」列があり、郵便番号と都道府県以降の住所が結合された状態で記録されています。
まず、AIに指示を出すことで複雑なパターンを処理する「AIプロンプト」機能を利用します。この方法は、正規表現などの専門知識がなくても、自然言語で指示を出すだけでデータ加工ができるため非常に強力です。
列ヘッダメニューから「AIデータ加工」を選択します。プロンプト入力欄に「住所の列から郵便番号を削除して、住所だけの列にしてください」と入力し、実行します。
実行すると、Exploratoryが内部的にRのスクリプト(mutate関数など)を生成します。この際、AIは「3桁の数字、ハイフン、4桁の数字」というパターンを正規表現(\\d{3}-\\d{4}など)として自動的に解釈し、該当する部分を削除した新しい住所列を作成します。
AIプロンプト以外にも、既存のメニューから「テキストデータの加工」機能を使って郵便番号を取り除くことができます。この方法は、特定のパターンを明示的に指定したい場合に有効です。
「住所」列のヘッダメニューから「テキストデータを加工」を選択し、「取り除く」の「文字列」を指定します。
設定画面で「正規表現」にチェックを入れ、パターンとして
\\d{3}-\\d{4} を指定します。ここで \\d{3}
は数字3桁、- はハイフン、\\d{4}
は数字4桁を意味します。
実行すると、指定したパターンに一致する郵便番号部分が削除されます。また、オプションで「余計な空白を取り除く」を有効にしておくことで、郵便番号を消した後に残る先頭のスペースも自動的に処理され、綺麗な住所データを得ることができます。
もし住所データの形式が非常に不規則で、単純なパターンマッチングでは対応しきれない場合は、AI関数の利用を検討します。
AI関数を使用すると、1行ごとにAIが内容を判断して処理を行うため、より柔軟な抽出や削除が可能です。例えば、ハイフンがない郵便番号や、住所の途中に郵便番号が紛れ込んでいるような複雑なケースでも、精度高く住所のみを取り出すことができます。
これらの手法を使い分けることで、ノイズのない正確な住所リストを作成でき、その後のエリア分析や地図へのプロットがスムーズに行えるようになります。