データ分析に Python を使用する理由 (Excel または Google Sheets がある場合)

Mary-Kate Olsen
リリース: 2024-11-17 16:58:02
オリジナル
651 人が閲覧しました

TL;DR: スプレッドシートは多くのデータ タスクに最適ですが、大規模なデータセットの処理、高度な視覚化の作成、ワークフローの自動化、または機械学習モデルの使用が必要な場合には、Python が不可欠になります。重要なのは、特定のデータ分析ニーズに対して各ツールの強みをいつ活用するかを知ることです。

Python はデータ作業に不可欠であると考えられがちですが、スプレッドシートは依然として多くのアナリストの日々のニーズを満たす最も実用的なツールであり、それはまったく問題ありません。しかし、データ機能を進化させるには、それらをいつ卒業するかを知ることが非常に重要です。

データ アナリストやデータ サイエンティストのカリキュラムを見ると、スプレッドシート、SQL、Python、さまざまなビジネス インテリジェンス (BI) ソリューションなど、同じコア ツールが含まれていることがわかります。しかし、データ実務者やリーダーと話すと、「スプレッドシートでほとんどのニーズを処理できるのに、なぜ Python に切り替える必要があるのですか?」

という共通の質問が浮かび上がります。

SQL、Python、AI を基盤とする会社を共同設立した者として、私のスタンスは驚かれるかもしれません。スプレッドシートで仕事ができるならそれを使いましょう。これらのツールが 1970 年代から存続しているのには十分な理由があります。直観的で柔軟性があり、自分の作業を他の人に説明するのに優れています。

しかし、それらには限界があります。

よりアドホックな分析や探索的なデータ分析を実施したり、企業内でより多くのデータを処理したりすると、すぐにいくつかの問題に遭遇します。

  • 彼らは大規模なデータセットに苦労しています
  • 提供される視覚化機能とダッシュボード機能は限られています
  • 自動化されたデータ パイプラインの構築が困難になります
  • 高度な統計機能と機械学習機能が欠けています
  • バージョン管理がサポートされていないため、エンジニアリングのベスト プラクティスに従うことが困難になっています 以下では、スプレッドシートが多くのタスクにとって依然として貴重である理由と、データ ジャーニーの次のステップとして Python が必要となる時期について詳しく説明します。

Excel や Google スプレッドシートを使用する理由

スプレッドシートは、データ ワークスペースを完全に制御できるため、本質的に強力です。独自のカスタム構築ダッシュボードと同様に、希望通りにデータを即座に操作、視覚化、分析できます。

人々がスプレッドシートに惹かれる主な理由は 2 つあります:

1. スプレッドシートは柔軟でパーソナライズされています

スキル レベルに関係なく、データ実務者がスプレッドシートを好む最も明白な理由から始めましょう。それは、スプレッドシートが非常に柔軟でカスタマイズ可能であるということです。

スプレッドシートでは、独自の環境で作業し、それを完全に制御できます。特定の行を強調表示して簡単なグラフを作成したいですか?簡単。特定のパターンを強調表示するために条件付き書式を追加したいですか?問題ない。行や列を追加して入力を追加したい場合もありますか?そのまま直進してください。

Why use Python for data analysis (when you have Excel or Google Sheets)

ユーザーは、Google スプレッドシートのような共有ワークスペース環境であっても、完全に制御できます。これは、特に、同じ方法でデータをインラインで直接編集できない従来の BI ソリューションとは対照的に、また、データを小さなサブセットにスライスすることなく特定のデータ部分を呼び出すこともできないのと対照的に、非常に強力です。手に負えない。実際、Sigma などの一部の新しい BI ソリューションは、スプレッドシートのようなインターフェイスを主な売りとして、このアイデアを活用しています。

全体として、スプレッドシートのユーザー エクスペリエンスには非常に直感的なものがあります。私たちは幼い頃から数学を学びますが、スプレッドシートは、データを調べてすべての数値がどのように加算されるかを理解するための、うまく構造化された方法を提供します。

2. スプレッドシートは反応的で説明可能です

スプレッドシートの反応性とは、1 つの数値を変更すると、それに関連するすべてのものが自動的に更新されることを意味します。この即時フィードバックにより、さまざまなデータが相互にどのような影響を与えるかを理解するのに最適です。

たとえば、次のように接続されたセルがあるとします。

C1 = A1 B2

反応性とは、A1 または B2 を更新すると、C1 が自動的に更新されることを意味します。すべてのセル間の依存関係、つまり系統を追跡する DAG が事実上存在します。コードとは異なり、スプレッドシートを「実行」する必要がないため、これは非常に強力な概念です。単純に世界のモデルを作成して入力を調整し、その変更に対して結果がどのように反応するかを確認することができます。

この反応性は、スプレッドシートの理解しやすさにも大きく貢献します。わかりやすい数式を表示し、それをクリックして依存するセルを強調表示し、依存するセルを調整して、見ている数値がどのように反応し、それに関連しているかを理解できます。

Why use Python for data analysis (when you have Excel or Google Sheets)

上の画像でわかるように、どの数値が税引前純利益に最も寄与しているかを知りたい場合は、セルをクリックするだけで従属セルを表示し、どの変数が税引前純利益に含まれているかをすぐに理解できます。

これらの理由から、スプレッドシートで作業できるのであれば、それがおそらく良い考えです。

Python を使用する理由

スプレッドシートは多くのタスクに優れていますが、Python はデータ作業のまったく新しい可能性の世界を開きます。大量のデータセットの処理から、複雑なビジュアライゼーションの作成、反復的なタスクの自動化まで、Python がデータ ワークフローにとって強力なツールである理由は 5 つあります。

1. Python は大量のデータに簡単に対処できます

Python を使用する最初の最も明白な理由は、大規模なデータセットを扱う場合に示されています。 Excel は約 100 万行×17,000 列をサポートでき、Google スプレッドシートは約 1,000 万セルをサポートできます。これは多すぎるように聞こえるかもしれませんし、多くの場合これで十分ですが、すぐにこの制限に達してしまう可能性があります。対照的に、強力なマシン上の Python は、桁違いに多くのデータをサポートできます。これは、polars や DuckDB などの新しいテクノロジーを活用する場合に特に当てはまります。

時間の経過とともにスプレッドシートの制限が増加する可能性がありますが、Python (特に SQL と併用した場合) は常にさらに多くの処理を処理できるようになります。

2. Python は高度なカスタマイズされた視覚化をサポートします

スプレッドシートは非常に強力なビジュアルを提供しますが、それは Python でできることのほんの一部にすぎません。私は、棒グラフ、折れ線グラフ、地図でほとんどのケースがカバーできると強く信じていますが、データを使ってストーリーを伝えるには、多くの場合、日常から抜け出し、魅力的なキャンバスを作成する必要があります。

たとえば、データがポイント A からポイント B にどのように流れるかを説明する優れたサンキー図が大好きです。または、レーダー プロットを作成して、さまざまなカテゴリの属性を比較したいと思うかもしれません。

これらは、plotly、seaborn、bokeh などのライブラリを使用して Python で驚くほど簡単に構築できます。

例として、以前の投稿の Superdope の例に戻り、以下のようなサンバースト プロットで製品のパフォーマンスを比較したいとします。

Why use Python for data analysis (when you have Excel or Google Sheets)

plotly などのライブラリを使用してコードでこのチャートを生成するのはかなり簡単です。

import plotly.express as px

# Create the sunburst plot
fig = px.sunburst(
    df_sunburst,
    path=['Region', 'Category', 'Product'],
    values='Sales',
    color='Region',
    title='Sales Distribution by Region, Category, and Product',
    width=800,
    height=450
)

# Update layout
fig.update_layout(
    margin=dict(t=50, l=0, r=0, b=0)
)

# Show the plot
fig.show()
And this code can be generated by AI in about 3 seconds. Building something similar in a spreadsheet would require a lot more time and effort.
ログイン後にコピー

3. Python はデータ パイプラインとクリーニングの自動化に役立ちます

データを扱うとき、データ変換タスクを繰り返し行うことになることがよくあります。たとえば、クライアントから CSV または Excel ファイルが定期的に送信される業界で働いているとします。データをクリーンアップしてフォーマットし、レポートに変換したり、次のステップに備えたりする必要があります。これは Python にとって完璧なタスクです。独自のサーバーを管理していてリソースに余裕がある場合は、スクリプトを作成し、Cron ジョブを使用して実行するようにスケジュールできます。または、すぐに機能してオーケストレーションやより複雑なジョブを処理できるマネージド ソリューションを使用したい場合は、 、Dagster や Airflow などのソリューションを使用できます。

一般的なルールとして、最近では、自分が何をしているのか正確に理解していない限り、自家製 Cron ジョブを避けるのが最善です。これらが稼働し続け、適切なロギングとモニタリングが行われ、適切に調整されていることを確認すると、すぐに多大な作業が発生する可能性があります。

注: データ パイプラインを構築するための軽量かつ迅速な方法を単に探している場合は、Fabi.ai が良い選択肢になる可能性があります。 CSV ファイルや Excel ファイルなど、あらゆるソースとの間でデータ ラングリングとクリーニングのパイプラインを数分で簡単にセットアップできるようにお手伝いします。

4. Python による複雑なデータ分析と機械学習のサポート

スプレッドシートでは多くのことができますが、より高度な統計モデルや機械学習モデルを構築して使用することは、通常はその中には含まれません。単純に単変量データ分析や分布、平均などの単純な計算を行う場合は、スプレッドシートでその仕事を完了できるはずです。ただし、より高度な多変量分析、さらにはクラスタリング、予測、チャーン予測に挑戦したい場合は、Python にはすぐに使える豊富なツール スイートが備わっています。

対応する Python パッケージとともに実行したい分析タイプの例をいくつか示します。

  • クラスタリングを使用した購入者または顧客のグループ化: sklean.cluster (例: Kmeans)
  • セールスまたはマーケティング パイプラインの時系列予測: Prophet または statsmodels (例: ARIMA)
  • 顧客離れの予測: scikit-survival これらはすべて、世界の優秀なエンジニアや研究者によって実装された高度な機械学習および統計モデルであり、無料で入手でき、Python ですぐに使用できます。

5. Python は、コードのバージョン管理とエンジニアリングのベスト プラクティスに従うのに役立ちます

最後に、多くの場合、作業が追跡可能で再現可能であることを確認することをお勧めします。

実際には、これが意味するのは、他の人 (または後日あなた自身) があなたの分析を見たときに、この人は次のことを理解できるはずであるということです。

  • データの出所
  • データがどのように操作され、どのように結果が得られたのか
  • 同じ結果を独立して再現できる したがって、スプレッドシートでの作業がデータをエクスポートして、元のソースから切り離された場所で操作することを意味する場合、結果の再現が非常に困難になる可能性があります。これは、分析中に実行する手順がバージョン管理されていないことも意味します。分析を実行して調整を行うと、正確な手順が記録されない場合があります。これにより、誰もが少なくとも一度は経験したことのある困難な状況に陥る可能性があります。スプレッドシートで美しい分析を作成し、それを同僚と共有し、後日見返してみると、データが違いました。何が起こったのかを理解するために変更履歴を調べても無駄かもしれません。

Github や Gitlab などのバージョン管理システムを使用し、分析を実行するときに基礎となるコードに変更をコミットすると、この種の状況を回避できます。

評決: 大規模なデータセットの場合。高度な分析と視覚化。そして自動化では Python が勝つでしょうか?

複雑なアドホックまたは探索的なデータ分析を実行したり、高度な機械学習手法を使用したり、複雑なビジュアライゼーションを構築したりする場合、Python はその仕事に最適かつ最も強力なツールの 1 つです。

はい、スプレッドシートが非常に人気があるのには十分な理由があります。比較的小規模なデータセットを扱い、自動化する必要のない 1 回限りの分析を行う場合、Excel または Google スプレッドシートは優れたツールです。

ただし、Python は、Excel や Google Sheets では問題となる大規模なデータセットを扱う場合に、非常に優れたパフォーマンスを発揮します。 Python は、特に何らかの形式のデータ変換やクリーニングが必要な場合に、データ パイプラインを自動化するためにも一般的に使用されます。

ほとんどのものと同様、特定のツールを使用してその強みを最大限に活かすには、時と場所があります。私たちは、すべてのツール間の架け橋として機能するように Fabi.ai を構築しました。これにより、両方の長所を活用できるようになります。

スプレッドシートやファイルなどのあらゆるデータ ソースに驚くほど簡単に接続し、軽量のデータ パイプラインを構築できるようにします。 AI で強化された組み込みの SQL および Python インターフェイスにより、これまでの経験に関係なく、高度な機械学習と統計モデルを驚くほど簡単に活用できます。ご興味がございましたら、今すぐ 2 分以内に無料で始めることができます。

以上がデータ分析に Python を使用する理由 (Excel または Google Sheets がある場合)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート