代表の佐野です。普段はPythonを使ってCADの困りごとやバックオフィスの課題解決しています。今日は最近趣味で取り組んだマップアプリの作成を元に、データを扱う際のポイントを解説します。
マップアプリを作ってみました
ボランティアで関わっているStartup Weekendという週末54時間で起業が体験できるイベントがあります。私の地元でもStartup Weekend 富士というコミュニティで活動していますが、日本全国にはさまざまな地域で同様のコミュニティがあります。それらを簡単にマッピングできないかと思い、作成したのが「Startup Weekend Map」です。
(蛇足ですが、Startup Weekendについてはまた近いうちに記事にできればと思います。)
イベントの情報は、イベント集客サービス「Doorkeeper」のAPIを利用して取得し、JSON形式のデータをCSV形式に変換しています。その後、Pythonのライブラリを使って可視化を行いました。
このマップアプリの作成を通じて、データ分析における前処理や可視化の基本的な流れがよく分かりました。今回は、どのように考えて作ったのかを少しご紹介します。
データの前処理
データ前処理の第一歩は、どのようなデータを集めるかを決定することです。マップアプリに必要なものは、そのマップ上にポイントを表示するための座標データです。
さらに、マップ上のポイントに関連するメタデータ(例: イベント名、開催日時、場所の名前など)も必要です。今回は、API経由で取得したJSON形式のデータを、可視化に適した行列形式のCSVファイルに変換しました。
また、データをあらかじめ変換しておくことも重要です。例えば、APIで取得したJSON形式では開催日時が標準時間で記録されていたため、これを日本時間に統一しました。
このように、データを扱いやすくしておくことで、次の可視化ステップをスムーズに進めることができます。データ前処理には、他にも欠損データの処理や異常値の除去など、データの品質を高めるための工程が含まれます。これらの工程を経ることで、データ分析の精度が向上します。
可視化ツールの選択とマップアプリの作成
マップアプリの可視化には、StreamlitとFoliumという2つのツールを使用しました。Streamlitはローコードで素早くインタラクティブなアプリを作成できるライブラリであり、Foliumは地図データを簡単に扱うためのライブラリです。これらを組み合わせることで、緯度経度データに基づくマップアプリを作成しました。
ただ単にポイントを表示するだけでは、イベントの詳細が分からないため、ポイントをクリックした際にポップアップで情報が表示されるようにしました。これにより、利用者はマップ上でイベントの情報を簡単に確認できるようになります。
まとめ
今回のマップアプリでは、データ分析におけるデータ前処理と可視化の基本的な考え方が詰まっています。データ分析を行う際の参考になれば幸いです。
今回紹介したツール以外にも、データ前処理では表計算ツールを使用したり、可視化においてはPythonのPlotly, Gradio, Panelといったライブラリ、またノーコードでダッシュボードを作成できるBIツール(Looker Studio, Tableau)などもあります。
当社では、設計データやバックオフィス業務の可視化においてこれらのツールを活用しています。今後も新しいツールや手法を積極的に取り入れ、業務上のデータ可視化の活用範囲を広げていきたいと考えています。
参考
今回の記事で使用したマップアプリのソースコードは以下で公開しています。
当社では、業務データの可視化など企業のデジタル化を支援するサービスを提供しています。データを有効に活用することで、業務効率化や新たなビジネスチャンスの発見が可能です。ご興味のある方は、ぜひお問い合わせください。