【Python in Excel】使ってみて思ったこと
Python in Excelを使ってみてどういう点がいいなぁと思ったかとどういう点が課題と思ったかを書きたいと思います。
良かったこと
1-1.Excelにはない形式のグラフが簡単にかける
ペアプロットとかいう、どの変数とどの変数が相関しているのかを可視化するためのグラフがあるのですが、そういったExcelにはないグラフも簡単にかけるところが良い点の一つですかね。
![Python in Excelで作ったペアプロットの例](https://nao-tokyo.jp/wp-content/uploads/2024/06/ペアプロット-1024x768.webp)
1-2.Excelのネイティブグラフ機能でも描けるけど書式統一するのが面倒な時に便利
Excelでも描けるただの折れ線グラフでもpythonだと全ての書式がコマンドで指定できるので、同じ書式のグラフを大量に作りたい時にとても便利だと思いました。
例えば下に示したような就業者数推移のグラフとほぼ同じ書式のグラフを作って欲しいとした場合にExcelのネイティブ機能で作ってもらうと、横軸の範囲とか縦軸の範囲とかy軸のラベルの名前とかいちいち、何回かクリックしてテキストで入力してっていう作業を繰り返すので結構手間がかかるし、再現するのが面倒ということがありますよね。
![日本の就業者数推移をpython in excelでグラフにした例](https://nao-tokyo.jp/wp-content/uploads/2024/06/就業者数推移-1024x768.webp)
それがPython in ExcelですとこのPythonコマンドでグラフ作ったから同じコマンド使って書式統一して欲しいと伝えれば結構簡単に書式が統一できます。
# Python in Excelで日本の就業者数推移グラフを作った例
import matplotlib.pyplot as plt
plt.plot(xl("D815:D867"), xl("H815:H867"))
plt.xlabel('年月', fontname="Meiryo")
plt.grid()
plt.ylim(6000,7000)
plt.ylabel('日本の就業者数(万人)', fontname="Meiryo")
plt.title('就業者数推移', fontname="Meiryo")
plt.xticks(rotation=90)
課題
2-1.ビックデータ解析には使えなさそう
Pythonと言えば、機械学習や統計解析でビックデータを計算させるのが普通だと思います。それで、よく使われるカルフォルニア住宅価格データセットでグラフを描くジョブをPython in Excelにとばしてみました。するとマイクロソフトサーバーからの応答待ちの状態になり、数分待った後にExcelが突然強制終了しました。
Pythonと言えば、ビックデータを扱うものと思っていたのでビックリしましたがどうやら2024年6月時点では20万点くらいのデータをPython in Excelでグラフにしようとすると強制終了するようです。
こういったことから、やはり「Python in Excel」はライトユーザー向けでビックデータ解析などをしたい人はGoogleColabの有料会員などになった方が良さそうです。
2-2.日本語フォントが1個しかない
Python in ExcelではMicrosoftのサーバー上で計算するため、グラフのラベルなどに使うフォントはMicrosoftサーバーに用意されているフォントのみになります。2024年6月現在、Microsoftサーバーに用意されているフォントで日本語対応しているのは1種類のみです。ゴシック体なので、明朝体を指定することはできません。この点については欧米のフォントはsans体やserif体が用意されているので、今後改善される可能性はあります。
2-3.計算ジョブの上限値がたった30回くらいであとは有料みたい
20万点くらいのデータセットのジョブを1回送りつけたせいかもしれませんが、30回くらいPython in excelのジョブ飛ばしたらこれ以上利用するには有料プランになるみたいな警告メッセージが出てきました。有料プラン利用しなくても低速で利用できるみたいですが、なんかこんなにすぐ有料プランに移行して欲しいみたいなメッセージが出てくるとローカルのpythonインストールした方が楽かなって気持ちになりました。もちろん、プレビュー版の段階では有料プラン分も無料で使えるようなのですが、本格リリースされて有料プラン使うかといったらGoogleColabもありますしね。そもそもAnacondaが関わっている案件はやはりAnacondaが突然有料ライセンス化した事件の影響で会社の経営層の受けが悪いので、決裁通りにくいですよね。