Home » Python » Python in Excelの使い方 » 1番「Python in Excel」らしいサンプルはペアプロット

1番「Python in Excel」らしいサンプルはペアプロット

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2310(ビルド16907.20000クイック実行)ベータチャネル

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)

にしても同じ結果が得られます。

最終更新日時:2023-10-11 09:58

[スポンサードリンク]

Home » Python » Python in Excelの使い方 » 1番「Python in Excel」らしいサンプルはペアプロット

「Python in Excelの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.