本サイトは広告・プロモーションが含まれています
Python

【Python】pandasでExcelデータからグラフ作成【散布図】

この記事は、こんな人にオススメ

・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でインストールしなければいけません。

seabornPython3.6以上じゃないと動かないので注意してください。

Pythonのライブラリのインストールは各公式HPを確認する習慣を身につけた方が良いので
URLを紹介いたします。

openpyxlでも散布図は作成可能


以前はopenpyxlを使った記事を紹介したのですが、
pandasを使った場合と比べると、かなり書くのが大変でした。

結構for文で書いた記憶があります。

おわりに


ここまで読んでいただき、ありがとうございました。

昔はPandasをあまり触れる機会がなかったのですが
今の会社に入って少しづつ触る機会が増えてきて、独特?なデータフレームにも慣れてきました。

またExcelファイルのデータ処理に関する記事を書いていきます。
それでは。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA