Home » Python » Python in Excelの使い方 » 2023年10月時点でPython in Excelのpandasのバージョンは1.5.3

2023年10月時点でPython in Excelのpandasのバージョンは1.5.3

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

Python in Excelの「相関マトリックスを作成する」サンプルでは、アヤメの花びらの長さと幅、がくの長さと幅の相関マトリックスが作成されます。

このサンプルを操作していて、Python in Excelを使う上で注意が必要だと実感したので記事にしておきます。

[スポンサードリンク]

Python in ExcelではDataFrame.corrの引数を省略してもOK

Python in Excelの「相関マトリックスを作成する」サンプルの、[サンプルを挿入する]ボタンをクリックすると、以下のようなPythonのコードが作成されます。

sample_df = xl("IrisDataSet2[#すべて]", headers=True)
sample_df.corr(numeric_only=True)

pandasのDataFrame.corrメソッドを呼び出して、相関マトリックスを作成しているコードです。

2023年10月時点のPython in Excelでは、上記のコードからDataFrame.corrメソッドの引数を削除した、以下のようなコードでも相関マトリックスが作成されます。

sample_df = xl("IrisDataSet2[#すべて]", headers=True)
sample_df.corr()

ローカルでDataFrame.corrの引数を省略するとValueErrorに

ところが私のローカル環境で、ほぼ同等の以下のコードを実行すると、

import seaborn as sns

df = sns.load_dataset('iris')
df.corr()

エラーが発生します。

ValueError: could not convert string to float: 'setosa'

string型のデータである「setosa」を、float型に変換できないといったValueErrorです。

もちろん、DataFrame.corrメソッドの引数numeric_onlyにTrueを指定した以下のコードならば、

sample_df = xl("IrisDataSet2[#すべて]", headers=True)
sample_df.corr(numeric_only=True)

相関マトリックスが出力されます。

Python in Excelのpandasはバージョン1.5.3

この挙動の違いは、pandasのバージョンの違いによります。

私のローカル環境の場合、pandasのバージョンは「2.0.3」です。
それに対し、2023年10月時点でPython in Excelのpandasのバージョンは、「pd.__version__」で確認すると下図のとおり「1.5.3」です。

そして厄介なことに、pandasのDataFrame.corrメソッドは、バージョン2.0.0のときに仕様が変更になっています。

公式ドキュメントに、以下の記述があります。

numeric_only: bool, default False
(途中省略)
Changed in version 2.0.0: The default value of numeric_only is now False.

1.5.xの公式ドキュメントではDataFrame.cooメソッドの引数numeric_onlyには以下のように書かれています。

numeric_only: bool, default True
(途中省略)
Deprecated since version 1.5.0: The default value of numeric_only will be False in a future version of pandas.

pandasのバージョン2.0.0からDataFrame.corrメソッドの仕様が変更になり、現在では引数numeric_onlyはデフォルトでFalseになっています。

そのため、私のローカル環境では「numeric_only=True」を明記しないとエラーが発生し、Python in Excelでは引数「numeric_only=True」を削除しても、相関マトリックスを作成できてしまいます。

Python in Excelでは、どのライブラリであっても、最新版より少し前のバージョンが使うことになるでしょうから、このようなバージョンの違いをしっかり意識しておく必要があるということです。

[スポンサードリンク]

Home » Python » Python in Excelの使い方 » 2023年10月時点でPython in Excelのpandasのバージョンは1.5.3

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

検索


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

.