Jupyternotebook(Python3)にてPandasを使いこなすためにには、さまざまな処理方法を理解しておく必要があります。
たとえば、csvやExcelデータなどをjupyternotebookのpandasを用いてグラフにプロットしたいケースでは、どのように処理すればいいのか理解していますか。
ここではpandasにてcsvを取り込み、グラフ上にプロットしていく方法の基礎について解説していきます。
Pandasでcsvデータをグラフにプロットする方法【Jupyternotebook(Python3)】
それでは、pandasにてcsvデータのグラフ化する方法について確認していきます。
以下のようなcsvデータをjupyternotebookでグラフ化していきましょう。なお、このcsvファイルな名前は「sample6.csv」とします。
ここでラベル名は「month」と「capacity」であるとし、monthをx軸に、capacityをy軸に指定していきましょう。
これをグラフ化していくには、以下のコードを入力するといいです。
import pandas as pd
df = pd.read_csv(“sample6.csv”, encoding=”SHIFT_JIS”) #ここでcsvの読み込み
plt.plot(df[‘month’],df[‘capacity’]) #ここでx軸とy軸にするラベル名を指定
すると以下のようpandasにてcsvをグラフ化することができました。
なお、csvデータの読み込み自体ができないケースについてはこちらで詳しく解説しているため参考にしてみください。
ただ、このままでは見にくいので、以下の書く処理にて体裁を整えていきましょう。
X軸とy軸の表示範囲を変える(pandasでのcsvのグラフ化(プロット)1)
Pandasでのcsv読み込み、プロットした際のX軸やy軸の表示範囲を調整するには以下のコードを追加で加えていく必要があります。
plt.xlim([0,10]) #x軸の表示範囲を指定
plt.ylim([0,10]) #y軸の表示範囲を指定
これを加えたすべてのコードは以下の通りとなります。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’])
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
すると出力されたグラフ(プロット)は以下の通りとなります。
X軸とy軸にラベルを加えたり、フォントを変えたりする(pandasでのcsvのグラフ化(プロット)2)
なお、pandasにてcsvのグラフ化をした後、以下のラベル指定のコードを追加することで、x軸やy軸のラベルを追加したり、そのフォントサイズを調整できたりします。
plt.xlabel(“month”,size=12) #x軸のラベル
plt.ylabel(“capacity”,size=12) #Y軸のラベル
軸の目盛の向きや数値の大きさを変更する(pandasでのcsvのグラフ化(プロット)3)
なお、軸をいじる際には上述のコードに加えて以下のよう、入れていくことで変更できます。
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’])
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
plt.xlabel(“month”,size=12)#x軸指定
plt.ylabel(“capacity”,size=12)#Y軸指定
ax = fig.add_subplot(111)
ax.tick_params(direction = “in”, labelsize = 14)# 目盛の向きと数値のサイズ
これで、目盛の向きが内向き、数値のサイズが14と変更されました。
線の色や太さ、実線か点線かなどと変えていく(pandasでのcsvのグラフ化(プロット)4)
続いて、pandasにてcsvのグラフをプロットした後に、線の色や太さ、形状(実線か点線か)などについても確認していきましょう。
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’],color=’red’,linestyle=’solid’, linewidth = 3.0)
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
plt.xlabel(“month”,size=12)#x軸指定
plt.ylabel(“capacity”,size=12)#Y軸指定
ax = fig.add_subplot(111)
ax.tick_params(direction = “in”, labelsize = 14)# 目盛の向きと数値のサイズ
凡例を入れていくく(pandasでのcsvのグラフ化(プロット)5)
さらに、凡例を入れるときには、まずcsvのプロット時にラベル名をしておく必要があります。
続いて、plt.legend(loc=”upper right”, prop={‘size’:14}) で凡例の表示位置やその文字のサイズの指定を行います。
出来たコードは以下の通りです。
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’],label=”capa“,color=’red’,linestyle=’solid’, linewidth = 3.0)
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
plt.xlabel(“month”,size=12)#x軸指定
plt.ylabel(“capacity”,size=12)#Y軸指定
ax.tick_params(direction = “in”, labelsize = 14)# 目盛の向きや数値のサイズ
plt.legend(loc=”upper right”, prop={‘size’:14}) # 凡例の表示
補助目盛を入れていくく(pandasでのcsvのグラフ化(プロット)6
続いて、補助目盛も入れてさらに見やすくしていきましょう。
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’],label=”capa”,color=’red’,linestyle=’solid’, linewidth = 3.0)
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
plt.xlabel(“month”,size=12)#x軸指定
plt.ylabel(“capacity”,size=12)#Y軸指定
ax = fig.add_subplot(111)
ax.tick_params(direction = “in”, labelsize = 14)# 目盛の向きと数値のサイズ
plt.legend(loc=”upper right”, prop={‘size’:14}) # 凡例を表示と位置とさいず
ax.grid(which = “major”, axis = “x”, color = “blue”, alpha = 1,
linestyle = “–“, linewidth = 0.8)
ax.grid(which = “major”, axis = “y”, color = “green”, alpha = 1,
linestyle = “–“, linewidth = 0.8)
もう一つのプロットも同時にかいてみる[(pandasでのcsvのグラフ化(プロット)7
さらにはmonth vs capacityの変化量のプロットも同じグラフに描いていきましょう。
import pandas as pd
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
df = pd.read_csv(“sample6.csv”)
plt.plot(df[‘month’],df[‘capacity’],label=”capa”,color=’red’,linestyle=’solid’, linewidth = 3.0)
plt.plot(df[‘month’],df[‘mergin’],label=”mer”,color=’blue’,linestyle=’solid’, linewidth = 2.0)
plt.xlim([0,10]) #ここでx軸の範囲を指定
plt.ylim([0,10]) #ここでy軸の範囲を指定
plt.xlabel(“month”,size=12)#x軸指定
plt.ylabel(“capacity”,size=12)#Y軸指定
ax = fig.add_subplot(111)
ax.tick_params(direction = “in”, labelsize = 14)# 目盛の向きと数値のサイズ
plt.legend(loc=”upper right”, prop={‘size’:14}) # 凡例を表示と位置とさいず
ax.grid(which = “major”, axis = “x”, color = “blue”, alpha = 1,
linestyle = “–“, linewidth = 0.8)
ax.grid(which = “major”, axis = “y”, color = “green”, alpha = 1,
linestyle = “–“, linewidth = 0.8)
なお、詳細の各指定方法については各々ページでまとめていきますので、参考にしてみてください。
まとめ Pandasでcsvのグラフをプロットする方法【Jupyternotebook(python3)】
ここでは、JupyternotebookのPandasでcsvデータのプロットしグラフ化する方法について確認しました。
Pythonでは、一つ一つ丁寧に処理することが大事なポイントとなってくるので、少しずつ理解を深めていきましょう。
コメント