「ExcelでのPython:これがデータサイエンスを永遠に変える」

ExcelでのPython:データサイエンスを変革する

 

データサイエンティストとして産業界で働いていると、過去の1年間は新しいテクノロジーの突破とAIのイノベーションのジェットコースターのような感覚がありました。

ChatGPT、Notable、Pandas AI、およびCode Interpreterなどのツールは、執筆、研究、プログラミング、データ分析などのタスクを実行する際に、私にかなりの時間を節約してくれました。

そして、もうこれ以上良くならないかと思っていた矢先、MicrosoftとAnacondaがPythonをExcelに統合すると発表しました!

今や、Excelのスプレッドシート内でPythonコードを使用してデータを分析し、機械学習モデルを構築し、視覚化することができます。

 

では…なぜPython-Excel統合に関してこんなにも盛り上がるのでしょうか?

 

Excel内でPythonコードを書くことができる能力は、データサイエンティストやアナリストにとって新たな可能性を開くでしょう。

最初のデータサイエンスの仕事を得た際、私はほとんどの作業をJupyter Notebookで行うものだと思っていました。しかし驚いたことに、仕事の最初の日にExcelの使用方法を学ぶ必要がありました。なぜなら、経営陣、利害関係者、およびクライアントはスプレッドシートからの結果の解釈を好むからです。

実際、過去にはTableauのダッシュボードを作成してクライアントに結果を提示したことがありますが、クライアントはより馴染みのあるExcelでチャートを再構築するようになりました。

そして、これは私の組織に限ったことではありません。2023年現在、Excelを使用している企業は100万社以上、世界中で15億人以上です。

私を含む多くのデータプラクティショナーは、PythonのIDEとExcelのスプレッドシートを頻繁に切り替えています。前者は機械学習モデルの構築やデータ分析に使用し、後者は結果を提示するために使用します。

Python-Excel統合により、データサイエンティストやアナリストはワークフローを効率化することができます。データ分析、モデリング、プレゼンテーションを1つのプラットフォーム内で行うことができるようになります。

まだ納得していないですか?

この組み合わせの潜在的なユースケースを探ってみましょう。

 

データサイエンティストがExcelでPythonを使用できる方法

 

以下は、データサイエンティストがスプレッドシートの機能とPythonの多様なライブラリを組み合わせる方法です:

 

1. データの前処理

 

もし私の仕事の中でアウトソースしたい部分があるとすれば、それはデータの準備です。これは厄介な作業であり、ネイティブのExcel関数を使用すると非常に時間がかかります。

新しいPython-Excel統合では、PandasなどのライブラリをExcelに直接インポートし、Excelスプレッドシート内で高度なフィルタリングやデータ集計を直接実行することができます。

スプレッドシートのセルに「=PY」と入力し、Pythonで分析したいデータをハイライトするだけで、Pandasのデータフレームが作成されます。これをJupyter Notebookで行うのと同様に、このデータをグループ化して操作することができます。

以下は、ExcelでPandasのデータフレームを作成する例です:

 

 

2. 機械学習

 

Excelは、チャート内の線形回帰や傾向線のフィッティングといった基本的なツールを提供していますが、ほとんどの機械学習ユースケースでは、Excelのネイティブ機能を超えるより複雑なモデリング技術が必要です。

このPython-Excel統合を使用すると、Scikit-Learnなどのライブラリを使用してExcel内で高度な統計モデルを構築し、トレーニングすることができます。モデルの結果はExcelで可視化および提示され、モデリングと意思決定を1つのプラットフォームで結びつけます。

以下は、ExcelでPythonを使用して決定木分類器を簡単に構築できることを示す画像です:

 

 

3. データ分析

 

Excelでデータを分析するプロセスは手間がかかります。複数のファイルを同時に扱う場合、ユーザーはデータを手動でコピー&ペーストし、セル間で数式をドラッグし、データを手動で結合する必要があります。

例えば、私が以下のような月次売上データのシートを5つ持っているとします:

   

もしも私が1ヶ月の間に100個以上の商品を売った商品を見つけたい場合、まず最初に全てのシートからデータを手動でコピーし、最初のシートのデータの下に貼り付ける必要があります。その後、日付の形式を変更し、ピボットテーブルを作成する必要があります。

最後に、条件に一致する商品を見つけるためにフィルターを追加する必要があります。

新しい売上データが異なるファイルやシートに入ってくるたびに、手動でコピーして貼り付ける必要があります。

データ量が増えるにつれて、このプロセスはますます困難でエラーが生じやすくなります。

代わりに、次のコードを使用してPythonで全体の分析を効率化することができます:

# 1. データを結合する
df_merged = pd.concat([df_jan, df_feb], ignore_index=True)

# 2. 日付形式を変換する
df_merged['Date'] = pd.to_datetime(df_merged['Date']).dt.strftime('%Y-%m-%d')

# 3. 各商品の総販売数を計算する
grouped_data = df_merged.groupby('Product').agg({'Units Sold': 'sum'}).reset_index()

# 4. 100個以上の商品を特定する
products_over_100 = grouped_data[grouped_data['Units Sold'] > 100]

products_over_100

 

新しいデータが入ってきた場合、1行のコードを変更してプログラムを再実行するだけで、目的の結果を得ることができます。Python-Excelの統合により、単一のプラットフォーム内でデータ分析のワークフロー全体を監視しながら効率を最大化することができます。

 

4. データの可視化

 

Excel自体は多くの可視化オプションを提供していますが、チャートの種類には制約があります。バイオリンプロット、ヒートマップ、ペアプロットなどのチャートはExcelでは直接利用できないため、データサイエンティストは複雑な統計的関係を表現するのが難しいです。

Pythonコードを実行できるようにすることで、ExcelユーザーはMatplotlibやSeabornなどのライブラリを使用してより複雑で高度にカスタマイズ可能なチャートを作成することができます。

 

 

ExcelでPythonをどのように使用できますか?

 

この記事を書いている時点では、Python-Excelの機能はMicrosoft 365 Insider Programを通じてのみ利用可能です。この機能にアクセスするには、Microsoft 365 Insiderプログラムにサインアップし、Beta Channel Insiderレベルを選択する必要があります。

365 Insiderプログラムに参加すると、「Formulas」タブに「Python」セクションが表示されます。単に「Pythonを挿入」をクリックするだけで、自分自身のPythonコードを書き始めることができます。

または、任意のセルに=PYと入力するだけでも始めることができます。

 

 

Python-Excelの統合はデータサイエンスを民主化します

 

ChatGPTのリリースと、Code InterpreterやNotableなどのプラグインと共に、以前は強力な技術的専門知識が必要だった多くのタスクがより簡単に実行できるようになりました。

これは特にデータサイエンティストやアナリストにとって真実です – ChatGPTにCSVファイルをアップロードすると、データをクリーニングし、分析し、モデルを構築することができます。

私の意見では、Python-Excelの統合により、データサイエンスと分析の民主化に一歩近づいたと言えます。

マーケティングやファイナンスなどの分野では、Excelでの作業に特化した業界の専門家が、プログラミングの統合開発環境をダウンロードする必要もなく、Pythonコードを実行してデータを分析することが可能になります。

自分にとって馴染みのあるインターフェースでデータを扱い、ChatGPTがコードを書く能力を持つことで、非プログラマーでもPythonコードを使用してデータサイエンスのワークフローを実行し、問題を解決することができるようになります。

コードを書く方法を知らないExcelユーザーの場合、既に慣れ親しんだインターフェース内でPythonプログラミングを学ぶ絶好の機会です。     Natassha Selvarajは、自己学習のデータサイエンティストであり、執筆に情熱を持っています。LinkedInで彼女とつながることができます。  

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more