かずきち。の日記

サーバサイドエンジニアのつぶやき

まだエクセルで消耗しているの?Pythonのpandasなら簡単にかっこいいネットワーク図を書けるのに

エクセルでグラフを書くのは時代遅れ

日本の技術は金太郎飴を量産しているように感じる。
学生の学習指導要領も変化はしていると言えど、そこまで新しくはなっていない。
でも世の中にはどうやってグラフを書いているんだろうと言うものが数多くある。
その一つにネットワーク図がある。

昨今はソーシャルメディアが発達していて、口コミ・人のつながりが妙に重要視されている。
誰がこの情報を発信して、SNSの中心には誰がキーマンとしているのか?はマーケティング戦略上非常に重要である。
また会社内部においても、社員の関係図を分析すると、誰が重要人物かわかるのである。
今回は名刺等の人脈ネットワークを用いて、人間関係をPythonで可視化していく。

使用するのはPythonのpandasで作っていく


www.youtube.com

pandasというのは数値計算等をプログラミングベースで行うppuython のモジュールである。
エクセルで手作業でグラフを作るのと異なり、一度コードを書いてしまえば1秒以内に複雑なグラフを作成してくれる。
データ処理速度・処データ上限・再利用性はエクセルの比べ物にならない。

データサイエンス分野ではこのようなグラフが用いられることが多いが、エクセルではこんなグラフは書けないのでPythonの力を借りていきます。

ネットワークはベクトル形式で表せる

n×m次元の人間関係のの方向は高校2年生の数学で習ったベクトルを使用して表すことができる。

誰々が好き、度の本が好きといった人間の嗜好はベクトル形式で表すことができ、
同様にどの料理が好き、どの本が好きといった嗜好もベクトル表示ができる。

A = [0 1 2; 1 0 3; 2 3 0];
node_names = {'A','B','C'};
G = graph(A,node_names)

A・B・Cがそれぞれ人間だとして、プログラムで書くとこのように表せる。
顧客の嗜好・社員の嗜好などを可視化するのはとてもおもしろいので、興味ある人はぜひpandasをいじってみて欲しい。
これは自身のTwitterのフォロー・フォロワー関係を可視化するとこのようなネットワーク図になる。


pandasの勉強にはキノコードが良い

今はYouTubeでいくらでも学習動画が落ちていて、中でもこのチャンネルがわかりやすい。

www.youtube.com

自分も動画見て3時間位勉強したら使えるようになったので非常におすすめのチャンネルである。