2023年9月時点でベータ版の「Python in Excel」(パイソン・イン・エクセル)では、下図のような[数式]タブの[Pythonの挿入]ボタン-[Pythonサンプルを試す]コマンドから、5つのサンプルを試すことができます。
「ペアプロットを作成する」はPython in Excelらしいサンプル
このサンプルの中には、ぶっちゃけ、
「Excelでも似たことができるのに、何故わざわざPython in Excelを使うのだろう?」
と感じるものも含まれています。
その一方で、
「これをExcelだけでやろうとしたら大変だな」
「Excel VBAのコードを書くにしてもゼロからだと大変だろうな」
と感じるサンプルもあります。
その筆頭は、
「ペアプロットを作成する」サンプルです。
「ペアプロットを作成する」とは
この「ペアプロットを作成する」で作られるサンプルは、3種類のアヤメ
の、花びら(petal)とがく(sepal)の、長さと幅の150件のデータ(いわゆる「フィッシャーのアヤメデータ」)から、分布状況や相関を概観するために、複数の散布図とヒストグラムを一気に作成してくれるものです。
これと同等のグラフをExcelだけで作成するのは相当に大変で、Excel VBAのコードを書くにしてもかなりの行数になってしまいます。
これが、Python in Excelでは以下のようなコードでできてしまいます。
import seaborn as sns
sample_df = xl("IrisDataSet2[#すべて]", headers=True)
pairplot = sns.pairplot(sample_df, vars=["sepal_length", "sepal_width", "petal_length", "petal_width"])
「ペアプロットを作成する」サンプルのコードはもっとシンプルになる
このコードはもっとシンプルにでき、以下のようなたった2行のコードで同じ結果が得られます。
df = xl("IrisDataSet2[#すべて]", headers=True)
sns.pairplot(df)
サンプルで作られるコードの、
import seaborn as sns
sample_df = xl("IrisDataSet2[#すべて]", headers=True)
pairplot = sns.pairplot(sample_df, vars=["sepal_length", "sepal_width", "petal_length", "petal_width"])
1行目
import seaborn as sns
は、Python in Excelの場合既定でseabornライブラリがimport済ですから不要です。次の、
sample_df = xl("IrisDataSet2[#すべて]", headers=True)
は、DataFrameを作成して変数代入しているコードで、変数名は「sample_df」としなくても、よく使われる「df」でいいのではないかと感じます。
df = xl("IrisDataSet2[#すべて]", headers=True)
続く、
pairplot = sns.pairplot(sample_df, vars=["sepal_length", "sepal_width", "petal_length", "petal_width"])
がseabornのpairplot関数を使って、複数の散布図を作成して、変数pairplotに代入を行っているコードです。
戻り値を変数に代入する「pairplot = 」を削除し、seaborn.pairplot関数の第1引数に指定している変数名を「sample_df」から「df」にして、引数varsを削除した
sns.pairplot(df)
にしても同じ結果が得られます。
- 1番「Python in Excel」らしいペアプロットを操作する
- Power Queryで取得したデータからPython in Excelのペアプロットを作成する
- JJupyter上でPython in Excelと同様のペアプロットを作成する
最終更新日時:2023-10-11 09:58
Home » Python » Python in Excelの使い方 » 1番「Python in Excel」らしいサンプルはペアプロット