べくとりうむ.py Written by TicTak(※現在ブログ工事中のため、見づらい点があり申し訳ないです)

【Data Visualization】seabornを使って可視化する(その1)【Line Charts】

code python

こんにちは、TAKです。

今回から「seaborn」を用いたデータ可視化の方法を紹介していきたいと思います。
データサイエンスの勉強をしている人だけでなく、ビジネスに関わる多くの人は何かしらの「データ」に直面しているかと思いますが、データの可視化は非常に重要なビジネススキルですよね。

扱うデータに応じて適した可視化を実現していく必要がありますが、今回は「Line Charts」(折れ線グラフ)について、pythonのJupyter Notebookを用いて紹介していきます。

【こんな人に読んで欲しい記事です】
1. pythonを用いた可視化方法を学んでいきたい方
2. pythonを用いて折れ線グラフを描けるようにしたい方

seabornを用いたデータ可視化 | Line Charts

必要ライブラリのインポート

今回必要となるライブラリは以上の3つです。それぞれの役割は下記となります。
データを読み込んで可視化する場合、ほぼ毎回上記のライブラリをインポートするので覚えておいて損はないと思います。

● pandas:csvファイルを読み込むために利用
● pyplot:グラフ描画用ツール。これだけでも可視化することは可能
● seaborn:グラフ描画用ツール。よりキレイに可視化するために利用 

利用データの確認

今回使うデータはKaggleでも公開されているデータを使用します。
データ内容は、音楽ストリーミングサービス「Spotify」の人気楽曲5曲のストリーミング数です。
対象期間は2017年から2018年となっており、csvファイルは以下のような構成となっています。

csvファイルの構成
● Date:2017年から2018年の各日付
● 楽曲①:Shape of You
● 楽曲②:Despacito
● 楽曲③:Something Just Like This
● 楽曲④:HUMBLE.
● 楽曲⑤:Unforgettable
下記にてデータ読込結果を表示しているので、そちらを参照してイメージしてみてください。

データの準備

では実際にpandasのread_csvを用いてデータセットとして読み込んでいきます。
ここでのポイントは2つあります。

ポイント①:index_col引数を用いて、Date列を指定する点
ポイント②:parse_dates引数をTrueとすることで、時系列データとして認識させる点

データセットの先頭5行を表示した結果が以下です。

「Shape of You」のストリーミング開始日が最も早く、その他の楽曲は未配信であるために欠損となっていると考えられます。そのため、末尾5行を取り出してデータに問題がないか見てみます。

結果、すべての楽曲タイトルにデータが格納されているので問題ないことが確認出来ましたね。
以上のデータを用いて、実際に折れ線グラフとして可視化していきます。

データ可視化①

seabornを用いて折れ線グラフを描画するためには、下記コーディングだけでOKです。
1行目はグラフのサイズを調整するためのコードなので、2行目のコードがポイントとなります。

sns(seaborn)のlineplotで折れ線グラフを描画することが可能ですが、versionが古いとこの機能が搭載されていない可能性がありますので、うまくいかない方はライブラリが最新かどうか確認してみてください。
記事執筆時点のseabornは「0.10.0」なので、下記コードでversion確認してみてください。

グラフの結果をみてみると、代表5楽曲についてキレイにグラフが描けていますね。
若干差はあるものの、ピークを迎えて少しずつ落ち着いている様子が伺えますし、いずれもロングヒットであることがわかります。

データ可視化②

先ほどはcsvファイルにあった楽曲すべてを対象としていましたが、ここでは特定の2曲だけをセレクトして折れ線グラフを描画してみましょう。まず、楽曲のリストを取得しておきます。このコードを書かなくても問題ありませんが、僕は楽曲名を手打するのが面倒なのでこのようにコーディングします。

変数名は何でもいいですが、ここでは「lis」変数として楽曲名を格納しています。
結果も適切に表示されていることがわかりますね。

ここでは、先頭2つの楽曲(Shape of YouとDespacito)を選んでグラフにしてみます。
それを実現したコードが以下となります。

これもイイ感じに折れ線グラフとして可視化出来ましたね。
リストの操作がわかっていれば、このように操作する方が楽だと思います。

まとめ

いかがだったでしょうか?
今回は可視化手法の一つ「折れ線グラフ | Line Charts」について紹介してきました。

時系列データを扱う場面はビジネスでもかなり多いので、是非使えるようにして分析力を上げる手助けにしてみてください。

では今回はこのへんで。