・Python初心者の方
・Excelデータを使ってPythonでグラフを書きたい方
・コピペでもいいので、 Excel読み込んでPythonコード書きたい方
どうもこんにちは。コンです。
2月も終わるというのに、また寒波が流れてきて寒い感じですね。
今回はPythonを使って Excelファイルを読み込んでグラフ作成の方法を紹介したいと思います。
Excelファイル(.xlsx)を読み込ませるライブラリは
①openpyxl
②pandas
の2つが主なものです。
正直、圧倒的にpandasの方が使いやすいので
今回はpandasを使ってExcelファイルを読み込んで、散布図を作成したいと思います。
今回の目標:散布図
今回の目標は散布図作成
下のグラフみたいに、プロ野球選手の身長と体重の散布図をPython使って書いていきます。
使用するExcelデータ
いつも使用させていただいている
千葉商科大学さん(https://www.cuc.ac.jp/)の提供してくださっているプロ野球選手のポジション・身長・体重のデータを今回も使いたいと思います。
散布図作成コード
先ほどのグラフを作成するコードを紹介します。
import pandas as pd
import matplotlib.pyplot as plt
import japanize_matplotlib
import seaborn as sns
#baseball.elsxという名前でデータを保存しました
df = pd.read_excel('baseball.xlsx')
height_box = df['身長']
weight_box= df['体重']
team_box=df['球団']
##########ここから図を書くコード##########
#x:横軸に身長、y:縦軸に体重、style:形、hue:色、
p=sns.scatterplot(x=height_box, y=weight_box, style=team_box, hue=team_box, palette='Paired')
sns.set_style("whitegrid", {'grid.linestyle': '--'})
#軸の名前
p.set_xlabel("身長", fontsize = 16)
p.set_ylabel("体重", fontsize = 16)
#なぜか下のコードをこのポジションに描かないと、日本語が表示できなかった
sns.set(font='IPAexGothic')
p.legend(loc = 2, bbox_to_anchor = (1,1))
plt.show()
plt.close()
このコードを実行するためには
pandasのライブラリやseabornのライブラリをpipかcondaでインストールしなければいけません。
seabornはPython3.6以上じゃないと動かないので注意してください。
Pythonのライブラリのインストールは各公式HPを確認する習慣を身につけた方が良いので
URLを紹介いたします。
openpyxlでも散布図は作成可能
以前はopenpyxlを使った記事を紹介したのですが、
pandasを使った場合と比べると、かなり書くのが大変でした。
結構for文で書いた記憶があります。
おわりに
ここまで読んでいただき、ありがとうございました。
昔はPandasをあまり触れる機会がなかったのですが
今の会社に入って少しづつ触る機会が増えてきて、独特?なデータフレームにも慣れてきました。
またExcelファイルのデータ処理に関する記事を書いていきます。
それでは。