Home » Python » Python in Excelの使い方 » Power Queryで取得したデータからPython in Excelのペアプロットを作成する

Power Queryで取得したデータからPython in Excelのペアプロットを作成する

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

一番Python in Excelらしいと感じるサンプルについて、以下のような記事を書いてきました。

次に試すべきは、Power Query(パワークエリ)でデータを取得して、Python in Excelでペアプロットを作成する操作でしょう。

[スポンサードリンク]

Python in Excelではload_datasetが使えない

Jupyter Notebookなどでアヤメデータのpairplotを作成する場合、最初にseabornのload_dataset関数を使ってデータを読み込ます。

そのような一般にPythonで行われるデータの読み込みが、Python in Excelではできません。
仮に、

df = sns.load_dataset('iris')

をPython in Excelで実行しても

URLError: <urlopen error Tunnel connection failed: 400 Bad Request>

という#PYTHON!エラーが発生してしまいます。

Python in Excelでは、別の方法でデータを読み込む必要があります。

現時点でMicrosoftが推奨しているのは、Power Query(パワークエリ)です。

Power Quryでアヤメデータを読み込む

Power Queryをご存じない方の場合、以下のような手順でExcelの新規ワークシート上にデータを読み込むのがおすすめです。

▼操作概要:フィッシャーのアヤメデータををワークシート上に読み込む
github上のアヤメデータをブラウザなどで表示しURLをコピーしておく
 ↓
Excelの[データ]タブ-[データの取得と変換]-[Webから]ボタンをクリック
 ↓
表示された
[Webから]ダイアログボックスの[URL]欄に、コピーしておいた
「https://github.com/mwaskom/seaborn-data/raw/master/iris.csv」
を貼り付けてから[OK]
 ↓
表示された画面で[読み込み]ボタンをクリック

具体的な操作手順は以下のとおりです。

アヤメデータのURLをコピー

フィッシャーのアヤメデータはネット上にいくつか存在しますが、ここではseabornの公式サイトに

Use get_dataset_names() to see a list of available datasets.

Parameters:
namestr
Name of the dataset ({name}.csv on https://github.com/mwaskom/seaborn-data).

明示されているgithubから取得します。

GitHub - mwaskom/seaborn-data: Data repository for seaborn examples」下の、「seaborn-data/iris.csv at master」から、フィッシャーのアヤメデータ(https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv)を取得できます。

このURLを手入力しても、間違えてしまう可能性が高いので、一旦ブラウザで
https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv
を表示するなどしておいて、このURLをコピーしておきます。

Power Queryでアヤメデータを読み込む

URLをコピーできたら、Power Queryを使ったデータ読み込みを開始します。

Excelの[データ]タブ-[Webから]ボタンや、

[データ]タブ-[データの取得]-[その他のデータソースから]-[Webから]をクリックして、

表示された[Webから]ダイアログボックスの[URL]欄をアクティブにしておいて、[Ctrl]+[V]などで、先ほどコピーしておいたURLを貼り付け、

[OK]をクリックすると、下図のような画面が表示されますから、

右下の[読み込み]ボタンをクリックすると、下図のようにgithub上のアヤメデータがExcelに読み込まれます。

Jupyter上でなら「sns.load_dataset('iris')」で済みますが、Power Queryを使う場合、以上のような手順が必要なことが課題だと感じます。

Power Queryでアヤメデータの読み込みができたら、Python in Excelの操作です。

Power Queryで取得したデータからペアプロットを作成する

ここではPower Queryで読み込んだデータから、DataFrameをG1セルに作成して、G2セルにペアプロットを作成してみます。

まず、G1セルがアクティブな状態で、ショートカットキー[Ctrl]+[Alt]+[Shift]+[P]などを使ってPythonモードにして、

df = xl("iris[#すべて]", headers=True)

を入力します。

[Ctrl]+[Enter]でPythonコードの入力を確定し、少し待つとクラウドで処理され下図のようにDataFrameが作成されます。

つづいて、ペアプロットの作成です。
G2セルをアクティブにして

sns.pairplot(df)

を入力し[Ctrl]+[Enter]で確定して少し待つと、

下図のように「Image」と表示されます。

ショートカットキー[Ctrl]+[Alt]+[Shift]+[M]などで[Pythonオブジェクト]から[Excelの値]に変換すると下図のように、ペアプロットがG2セル内に表示されます。

このままではよく見えませんから、G2セルからK19セルあたりまで選択して、

セル結合を行うと、Python in Excelのサンプルと同様のペアプロットが表示されます。

最終更新日時:2023-10-10 16:08

[スポンサードリンク]

Home » Python » Python in Excelの使い方 » Power Queryで取得したデータからPython in Excelのペアプロットを作成する

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

検索


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

.