Python 実践 データ加工/可視化 100本ノック に挑戦 ノック99

ノック99: インタラクティブなグラフを作成してみよう

person_count_out_001_2021011509.csvファイルを読み込んで折れ線グラフを表示します。

plotlyモジュールをインストールします。

pip install plotly

 

折れ線グラフを表示します。

import pandas as pd
import plotly.express as px

df = pd.read_csv('data/person_count_out_0001_2021011509.csv')
fig = px.line(x=df['receive_time'],y=df['in1'])
fig.show()

 

実行結果

plotlyでグラフを作成すると、カーソルを当てた個所のデータが表示されます。

グラフ上をドラッグするとかグラフの拡大もできます。

ダブルクリックで元のグラフのサイズに戻ります。

折れ線グラフ

 

in1 とout1を同時に表示します。

meltメソッドを使用してin1とout1を変数名として列に加えます。

 

df_v = pd.melt(df[['receive_time','in1','out1']],id_vars=['receive_time'],var_name="変数名",value_name="値")
print(df_v)

 

実行結果

                receive_time   変数名    値
0     2021-01-15 09:00:00.144   in1  508
1     2021-01-15 09:00:01.146   in1  508
2     2021-01-15 09:00:02.161   in1  508
3     2021-01-15 09:00:03.176   in1  508
4     2021-01-15 09:00:04.192   in1  508
...                       ...   ...  ...
7075  2021-01-15 09:59:55.054  out1  156
7076   2021-01-15 09:59:56.07  out1  156
7077  2021-01-15 09:59:57.085  out1  156
7078  2021-01-15 09:59:58.101  out1  156
7079  2021-01-15 09:59:59.116  out1  156

 

グラフに表示します。

 

fig = px.line(df_v,x='receive_time',y='値',color='変数名')
fig.show()

 

実行結果

in1 out1

 

 

/* -----codeの行番号----- */