Pythonデータ可視化入門1 - 序文

힘센캥거루
2023년 11월 7일(수정됨)
13
python

今回、良い機会があってPythonを活用したデータ可視化の授業をすることになった。

授業で使った資料を一度きりで捨ててしまうにはもったいないので、ブログに残してみようと思う。

この文章の目標は、Pythonのfor文・if文・関数といった基礎だけ知っている人が、Pythonでグラフを一度描いてみることにある。

ここに書いてあることは本当に基礎だけであり、Pythonでデータ可視化を行うための土台作りを目的として読んでほしい。

今回の記事は、これから書いていく記事のうちの一番目、序文とPython開発環境の構築である。

1.  序文

1) データ可視化とは?

データ可視化を簡単に言えば、データをグラフや見やすい形にしてあげることを指す。

クソみたいなpptを見やすいpptに作り直すのは、結局のところ内容の表現方法の違いにすぎない。

データ可視化もこれと同じである。

Pythonデータ可視化入門1 - 序文-1

下の資料は、コグルからダウンロードしたデータを、seabornという可視化パッケージを使って可視化した例である。

右側のグラフの方が左にあるテーブルよりはるかに見やすく、解釈もしやすい。

しかしなぜあえてPythonなのか?

Pythonデータ可視化入門1 - 序文-2

もちろんデータ可視化ツールはPythonだけではない。

Excelでも可能だし、さまざまなツールが存在する。

簡単なデータであれば、Excelでも手軽にデータ可視化を体験できる。

Pythonデータ可視化入門1 - 序文-3

Pythonでデータ可視化を学ぶ最大の魅力は自動化にあると思う。

一連のコードさえ書いておけば、すべてのデータに対してさまざまな形のグラフを作成したり、月別に提供される一定形式のデータがあるなら、クリック一つで可視化が可能になる。

Pythonデータ可視化入門1 - 序文-4

人それぞれ感じる利点は違うだろう。無理に「Python」という枠に縛られるのは、かえって面白さを損なうだけだ。

よく分からないときはExcelでデータを確認してもいいし、Excelでデータを削除・並べ替えしてもよい。

私たちはただ、新しい可視化ツールを一つ学んでみるだけなのだ。

2) データ可視化の手順

データ可視化のおおまかな手順は次のようになる。

Pythonデータ可視化入門1 - 序文-5

例えば、小学校から中学校への進学説明会をしてほしい、という依頼を受けたとしよう。

このとき、次のような手順を踏んでデータ可視化を行うことになる。

  1. まず、子どもたちに何を説明するのかを決める。その中で「中学校に来て大変な点は?」という内容をアンケートで取るとしよう。

  2. そうすると、子どもたちにアンケートを配ってデータを収集することになる。

  3. 生徒から集めたデータは一定の形式がないので、KoNLPyというパッケージを使って音節単位にしてトークン化する手順を踏む。また、無回答を削除する処理も必要だ。

  4. Pythonのwordcloudパッケージを使ってデータを可視化する。ときには、1音節の不要な単語があればそれを除去して、再度可視化し、画像を完成させる。

説明会で子どもたちにだらだらと口で説明するより、下のような一枚の画像を表示して話を進めた方が、より役に立つだろう。

Pythonデータ可視化入門1 - 序文-6

3) 構造化データと非構造化データ

上の例は非構造化データの場合である。

非構造化データは決まった形式がないため、どのように処理したいかに応じてデータを加工する手順が必要になる。

しかし、この過程はとても難しい。

Pythonデータ可視化入門1 - 序文-7

そこで本記事では、構造化データ、つまり形式が決まっているデータだけを使って、データを確認しグラフを描く流れを説明しようと思う。

構造化データはほとんどが数値だろう。

2. Python開発環境を構築する

PythonとVS Codeがインストールされていない人は、以下の記事を参考にインストールしてほしい。

そして、VS Codeの拡張機能からPylanceをインストールしておく。

Pylanceは強力な機能を提供してくれるので、必ずインストールしておこう。

Pythonデータ可視化入門1 - 序文-8

3. PIPでパッケージをインストールする

PIPはPythonパッケージマネージャーである。

平たく言えば、他の人があらかじめ作っておいたプログラムをダウンロードできるようにしてくれるものだ。

まずターミナルを開こう。

Pythonデータ可視化入門1 - 序文-9

ここで、下のようなコマンドをかっこよく叩き込む。

# Window 일 경우
pip install numpy openpyxl pandas matplotlib

# Mac OS 일 경우
pip3 install numpy openpyxl pandas matplotlib

しばらくの間、ハッカーになったような気分になるだろう。パッケージがすべてインストールされるまで待つ。

筆者はすでにすべてのパッケージをインストールしてあるので、すでにインストール済みというメッセージが表示されている。

Pythonデータ可視化入門1 - 序文-10

インストールが終わったら、次のコマンドを入力してみよう。

# Windows 일 경우
pip show matplotlib

# Mac OS 일 경우
pip3 show matplotlib

下のように表示されれば、インストール完了だ。

Pythonデータ可視化入門1 - 序文-11

パッケージについて少し説明すると、pandasはテーブル形式データの処理、matplotlibはデータ可視化、numpyは行列計算およびグラフの線形回帰のために使う予定だ。

Pythonデータ可視化入門1 - 序文-12

4. Jupyter Notebookのインストール

まず、どこでもよいのでフォルダを一つ作ろう。

筆者は、由緒正しいフォルダ名として「직박구리」という名前を付けてみた。

そしてVS Codeで左上のタブをクリックし、「フォルダーを開く」を選んでそのフォルダを開く。

Pythonデータ可視化入門1 - 序文-13

次に、次の拡張子を持つファイルを一つ作成してみよう。

拡張子は .ipynbである。

このファイルはJupyter Notebookファイルだ。

Pythonデータ可視化入門1 - 序文-14

そして、コーディングの国民的お約束である「hello world」を入力し、横の三角ボタンを押す。

すると、何かを接続する、インストールする、といったダイアログが出てくるが、すべて許可してやれば、下のようにhello worldがすぐに出力されるのが分かる。

Pythonデータ可視化入門1 - 序文-15

このようにJupyter Notebookはセル単位の出力をサポートしているため、最初にプログラムを組むときにコードの作成とデバッグを同時に行うことができる。

ただし、動作が遅いという短所はある。

Pythonデータ可視化入門1 - 序文-16

例えば、通常Pythonコードを実行するときには、実行結果をターミナルで確認しなければならなかったが、Jupyter Notebookでは、プログラムを実行したセルのすぐ下で確認できる。

この一点だけでも、コーディングがかなり楽になる。

Pythonデータ可視化入門1 - 序文-17

5. 次の記事では…

本記事では、次の記事のための全般的な準備をしてみた。

VS CodeでPythonとJupyter Notebookが問題なく使えるようになっていれば、もうこれ以上やることはない。

次の記事に進もう。それではおしまい。

댓글을 불러오는 중...