VBAを置き換えますか? Python の父が Microsoft に入社してから 3 年後、Python は Excel に高度に統合されました

この記事は公開アカウント CSDN から転載され、編集されたものです | Tu Min

データ爆発の時代、データ分析には Excel と Python のどちらを使用すべきでしょうか?

良いニュースです!これで、この多肢選択式の質問を行う必要はなくなりました。

昨日、Microsoft は公式ブログで、Python を Excel のパブリック プレビュー バージョンにネイティブに統合したことを発表しました。これにより、データ アナリスト、エンジニア、マーケティング担当者、またはデータ サイエンスを勉強している学生が Python コードを直接使用できるようになり、ライブラリが複雑な統計分析を実行できるようになります。 Excel での高度な視覚化、予測分析、機械学習など。

f5c327e68c3d748884ab4c50e54c6bf9.png

1e784d3dc1c952f1b1b8683226c9f352.png

ExcelとPythonは同時に使用可能

「Python のグラフ作成とライブラリを使用して Excel でデータを操作および探索し、Excel の数式、グラフ、ピボット テーブルを使用して洞察をさらに絞り込むことができます」と Microsoft のモダン ワーク担当ゼネラル マネージャーの Stefan Kinnestro 氏は説明します。 Excel リボンから Python に直接アクセスし、使い慣れた Excel 環境で高度なデータ分析を実行します。

8168771b64cae341f70c62c8da6778e4.pngPython を使用して Excel でデータをシームレスに集計し、視覚化します

Microsoft は、公式ブログでさまざまな側面から Excel における Python の違いを詳しく共有しました。次に、一緒に見てみるのもいいかもしれません。

d91473795bde8d898d586e4943549b15.png

ソフトウェアをダウンロードする必要はなく、Excel で Python コードを直接使用できます。

まず、Excel の Python は Excel シートにネイティブに直接統合されていることに注目してください

したがって、一般のユーザーは、Excel テーブルを開いてセルに =PY 関数を直接入力することで、他のソフトウェアをインストールすることなく、Python コードを Excel テーブルに直接入力できます。

いわゆるコーディングはマウスを数回クリックするだけで完了します。これによりコーディングの敷居が下がるだけでなく、作業効率も向上します。

3b4f1180c9f8f02f0ebb98a97e004bf6.gif

さらに、ユーザーは Excel の組み込みコネクタと Power Query を使用して、外部データを Excel ワークフローの Python に直接導入することもできます。さらに、Excel の Python は、数式、ピボットテーブル、Excel グラフなど、ユーザーがすでに知っていて愛用しているツールと互換性があります。  

f52d2f2d0d152a0e9b90c889bf803080.png

サードパーティのオープンソース ディストリビューションを使用して Excel に Python を実装する

では、この機能はどのように実装されているのでしょうか?

この点に関してMicrosoftは、新機能はオープンソースのPythonディストリビューションであるAnaconda(https://www.anaconda.com/download)を活用しており、データサイエンティストやエンジニア向けの企業であり、初心者にも優しいと説明した。

Anaconda には、pandas、Matplotlib、scikit-learn、NumPy、SciPy など、事前にパッケージ化されたライブラリとパッケージが多数含まれています。

Excel の Python は、Azure で実行される Python Anaconda ディストリビューションを利用しており、Anaconda によって安全に構築、テスト、サポートされています。Anaconda が提供する Python は、Excel 上で Python を使用したさまざまな分析をサポートします。

185bf03bc648c7cf32070737592dfc22.png

安全性をどう確保するか?

さらに、セキュリティを確保するために、Excel の Python は Microsoft クラウド上で実行され、計算結果はグラフや視覚化を含めてワークシートに返されます。これにより、ユーザーの Microsoft 365 エクスペリエンスにエンタープライズ グレードのセキュリティが提供されます。

Python コードは、Azure Container Instances と Anaconda の安全なソース コード パッケージを使用して、ハイパーバイザーで分離された独自のコンテナー内の安全なソフトウェア サプライ チェーンを通じて実行されます。

Excel の Python は、Python コードが個々のユーザーの ID を知ることを防ぎ、インターネットからさらに分離された別のコンテナーでブックを開くことにより、ユーザーのデータ プライバシーを保護します。

ワークブック内のデータは、組み込みの xl() Python 関数を通じてのみ送信でき、Python コードからの出力は =PY() Excel 関数の結果としてのみ返されます。

2fd377058968fb671678e262d41a233a.png

同じチーム間のシームレスなコラボレーション

Microsoft がブログで共有したさらに強力な機能では、同じチームのメンバーが、他のツール、Python ランタイム、または管理ライブラリのインストールや相互のやり取りを心配することなく、Excel の Python に基づいてシームレスに対話し、分析結果を更新できます。それらの間の。

ユーザーは、Microsoft Teams や Microsoft Outlook などのお気に入りのコラボレーション ツールを使用してワークブックを共有し、Excel と同じようにコメント、@メンション、同僚との共同編集をシームレスに行うことができます。

008f541dbff4380150cd9e3b914ebb01.png

1ac7aeb282469b3bd144a7340e586be0.png

Excel の Python では具体的に何ができるのでしょうか?

Microsoft はブログで、Excel での Python の詳細な使用法を共有するためにいくつかの例も示しました。

1つ目は、可視化です。

Excel では、ユーザーは Matplotlib や seaborn などの Python の豊富なサードパーティ ライブラリを直接使用して、従来の棒グラフ、折れ線グラフ、ヒート マップ、バイオリン グラフ、グループ グラフなどの構築を含むさまざまなグラフを作成できます。

34ab0f0f29cf1dcb88c833b40d266314.png

2 つ目は、機械学習と予測分析です。

scikit-learn や statsmodels などの Python ライブラリの機能を活用して、一般的な機械学習、予測分析、回帰分析、時系列モデリングなどの予測手法を適用します。

9e112c4fe9c631651ae9752d75276932.png

PythonとExcel LAMBDAを使用した天気予測のための機械学習モデル

3つ目は、データのクリーニングです。

欠損値の検索、形式の正規化、重複の削除、正規表現などの手法を使用したパターンベースの変換など、高度なデータ クリーニング手法を効果的に利用します。

196eb09b745abc9066899a369b8113ab.gif

正規表現を使用して日付を抽出する

7ae12e958f0a7e40b6cd091c04eefa34.png

Python の父、Guido van Rossum 氏: 3 年前に Microsoft に入社したとき、このような可能性があるとは夢にも思わなかった

主流のプログラミング言語 Python を主流のオフィス ソフトウェアに統合する Microsoft の能力は、Python の父である Guido van Rossum の努力と切り離せないかもしれないと言わざるを得ません。

2020年11月、退職後の生活の寂しさに耐えかねたグイド・ヴァン・ロッサム氏は、「退職後の生活はとても退屈なので、マイクロソフトの開発部門に入社することにした!」とツイートした。

その時、彼は Python の開発と最適化を継続し、このテクノロジーを Windows だけでなく重要なものにするために Microsoft に入社したことだけを明らかにしました。

3 年が経ち、Microsoft が Python を深く受け入れていることがわかりました。Microsoft によると、Guido van Rossum は、このアップデートで Excel での Python アーキテクチャの定義を支援しました。

Guido van Rossum 氏も次のように述べています。「Python と Excel のこの素晴らしく緊密な統合がついに実用化できることを嬉しく思います。両コミュニティがこのコラボレーションの興味深い新しい用途を見つけて、各パートナーの能力を強化することを願っています。」 3 年前に Microsoft に入社したときは、これが可能になるとは夢にも思っていませんでした。Excel チームは素晴らしいです!」

12ca512c65fea7f676dee4fba0c7290c.png

fb4f4e00df1f7c36d4f7a61d5cc3cb03.png

開発者は興奮しています

現在、Excel の Python は、ビルド 16818 以降、主に Microsoft 365 Insider 向けにリリースされています。現時点では、Excel のデスクトップ バージョンでのみ利用可能であり、Microsoft は、後日他のプラットフォームにもプッシュされる予定であると述べています。

すでに Microsoft 365 Insider Program (https://insider.microsoft365.com/join/windows) に参加している場合は、最新の Insider バージョンの Excel をインストールし、空のブックを開いて、次の手順を実行するだけで済みます。試してみてください。

  • リボンで数式を選択します。 

  • [Python の挿入] を選択します。  

  • 表示されるダイアログ ボックスで [プレビューを試す] ボタンを選択します。

ただし、Microsoft は、プレビュー期間中は Excel の Python が Microsoft 365 サブスクリプションに含まれるが、プレビュー終了後は「有料ライセンスがないと一部の機能が制限される」とも述べています。

ほとんどの開発者は、この機能のリリースに興奮しています。

元マイクロソフト従業員は HN について次のようにコメントしました。

「Python を Excel に導入しようとした元 Excel 開発者として、今日この記事を読んで嬉しい驚きを感じました。

7 年以上前、私は Excel チームを離れることにしました。当時の上司の上司は、私が Excel に Python を導入することに興味があることを知っていて、もし私が残ることを選択したらチャンスを与えてくれました。しかし、当初は 6 か月のプロジェクトだったものが 3 年間のプロジェクトになり、Python の部分は徐々になくなり、最終的には Excel で JavaScript のカスタム関数を有効にすることになりました。

Python に関しては、当時は「クラウド」でも実行していました (AzureML v1) が、後からローカルで実行するべきかどうかについても議論が行われました。Python 部分がなくなったのは、パートナーの AzureML チームが再編成、再立ち上げ、再雇用され、PM を失い、私たちの仕事が別のパートナー チームの注目を集め、彼らが私たちを使用できることに気づいたからだと思います。 JavaScript をプロセス外で実行します。そこで私はこの機能のリリースを確実に成功させるために多くの時間を費やしましたが、それが Python に悪影響を及ぼしていると考えました。

何人かの優秀なエンジニアの協力を得て、多くのことを学びました。この作業の中心となるのは、関数が非同期に計算できるように Excel の計算エンジンを変更することです。これにより、リモート エンドポイント (JavaScript、Python、その他) が計算している間、ユーザーはスプレッドシートの他の部分で作業を続けることができます。以前は、計算の実行中にスプレッドシートがロックされていましたが、これは長時間実行される無制限の計算には適していませんでした。当時私たちが構築していた機能のいずれかがこの新機能に組み込まれているかどうかはわかりません。

今、これを見てとても嬉しく、試してみるのを楽しみにしています。

別の開発者 @cableshaft は次のように述べています。

「Microsoft クラウドを利用するだけでなく、Python をローカルで実行できることを願っていますが、いずれにしても、Excel の最新化を大きく推進する大規模なプロジェクトになると思います。

以前に取り組んだプロジェクトのことを思い出しました。それは、社内で少数の人だけが使用する分析 Web サイトを構築するというものでした。当時そのようなものが存在していれば、彼らのニーズに十分応えられたでしょう。

しかし、一部の開発者は、Python が Excel に参入したことで、Python が VBA マクロにとって最後の藁になったと述べました。

2537db177b331db56cb9bf13ea3ff3d4.png

1e9d21a3075dfb772add861d3c330d75.png

最後に、Python を Excel にネイティブに統合することは役に立ちますか? ご意見をお気軽に共有してください。

参考:

https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482

https://techcommunity.microsoft.com/t5/excel-blog/payment-python-in-excel-combining-the-power-of-python-and-the/ba-p/3893439

https://news.ycombinator.com/item?id=37222191

a44d6a64832fba48e6f784d2bbdbaaec.png

推奨読書

2dfa77f2df7fbecdc644a3baf8dfb6fd.png

「Excel+Python: データ分析と処理を素早く完了」

著者 / [スイス] フェリックス・ズムスタイン

翻訳/フォン・リー

  • 人気の Python ライブラリ xlwings の創設者が、Excel を高速に動作させる方法を教えます

  • オフィス ワーカーは、何のプレッシャーもなく Python を学習し、Excel のボトルネックを簡単に突破し、問題を解決するためのアイデアを広げることができます。

  • 面倒な数式や VBA コードに別れを告げ、Excel タスクを自動化し、効率を飛躍的に向上させます。

  • Excel と Python を連携させて人的エラーを回避し、データ処理を正確に完了させます。

34d0a7d894a522e3749c2034de814487.png

「Python+Excel/Word/PPTオールインワン」

投稿者 / 小馬格

  • 豊富なコンテンツ: Python と Excel/Word/PPT/PDF の連携アプリケーションを含む

  • 理解しやすい: 知識のポイントを段階的に説明しており、基礎知識がゼロの読者にも最適です。

  • 詳細な説明: コードを 1 行ずつ分析し、読者がプログラミングのアイデアと手法を真に理解できるようにします。

  • 実践ガイド: 実際の問題とニーズから始めて、内容を整理し、ケースを設計する

  • サポートリソース: PPT + ソースコード + 主要な内容の説明ビデオが書籍に無料で提供されます

a6152066b213896dfec39844feaf2ea4.jpeg

「エクセル機械学習」

【美人】周宏|

李喬君|翻訳

  • 一般的に使用される 10 を超える機械学習手法。Excel を開いて段階的に簡単に学習できます。

  • プログラミングが苦手ですか? 数学は難しすぎますか?機械学習の山を登る別の方法

  • Excel の例を通じて、一般的に使用される機械学習アルゴリズムとデータ マイニング手法を紹介します。

  • Excel を使用すると、機械学習モデリング プロセスの各ステップと中間結果が明確に表示されるため、何が起こっているのかだけでなく、その理由もわかります。

おすすめ

転載: blog.csdn.net/turingbooks/article/details/132505294