ホームページ > バックエンド開発 > Python チュートリアル > Jupyter Notebook はスプレッドシートのようなものです。両方を学びましょう。

Jupyter Notebook はスプレッドシートのようなものです。両方を学びましょう。

DDD
リリース: 2024-12-15 21:55:15
オリジナル
228 人が閲覧しました

Jupyter Notebooks Are Like Spreadsheets. Learn Both.

スプレッドシートは「ビジネス ソフトウェアの暗黒物質」です。スプレッドシートはどこにでもあり、目に見えず、すべてをまとめています。ビジネスと財務はスプレッドシートで実行されます。これほど多くの人が、これほど多くのさまざまな問題に対するソリューションを構築できるソフトウェア ツールは他にありません。この文脈では、「Jupyter は新しい Excel である」という主張は意図的にセンセーショナルなものであると理解する必要があります。

ただし、Jupyter ノートブックには Excel スプレッドシートといくつかの重要な類似点があります。スプレッドシートが事業運営やフロントオフィスの財務を支配しているのと同じように、ノートブックは科学技術コンピューティングや統計コンピューティングの分野で広く普及しています。この投稿では、なぜ両方のツールにこれほど熱心なファンや批評家がいるのかを説明するために、この 2 つのツール間の哲学的および実践的な類似点と相違点をいくつか探っていきます。

類似点: 良い点

  • 表面的には、Jupyter ノートブックと Excel スプレッドシートはどちらも、分析を個別のステップに分割するための視覚的なメタファーとして「セル」を使用しています。どちらの形式のセルにもコードが含まれており、結果が表示されます。
  • どちらも、計算とデータの視覚化を組み合わせた、インタラクティブで反復的な探索的分析用に設計されています。
  • どちらも、初心者向けの浅い学習曲線を目指しています。
  • どちらも自己完結型で簡単に共有できるように設計されています。 Google Colab や JupyterHub などのオンライン環境は、複雑になりがちな Python セットアップ プロセスを抽象化します。
  • どちらも、それぞれの分野で高等教育に強い関心を持っています。ビジネス スクールではほぼ例外なく Excel を使用した財務モデリングを教えており、STEM 部門では通常、Jupyter ノートブック1 を使用したデータ分析を教えています。新卒者は、これらのツールに慣れ親しんだことを職場に持ち込んでいます。

類似点: マイナス面

Excel スプレッドシートも Jupyter ノートブックも、ソフトウェア エンジニアからは「本物のソフトウェア」ではないと批判されています。どちらのアーティファクトも別のプログラムを実行する必要があるという明らかな制限のほかに、ソフトウェア エンジニアリングのベスト プラクティスに従うことが困難になります。

  • ファイルは巨大でモノリシックなため、git などの開発者ツールでバージョン管理するのが困難です。 Office OpenXML ドキュメントは zip 圧縮されており、ファイルの内容が「スクランブル」されるため、git は基になるデータへの変更を追跡できません。 Jupyter ノートブックは実際には単なる大きな JSON ファイルですが、セルの出力と実行数の変更により、余分なデルタ2.
  • が導入されます。
  • Excel スプレッドシートと Jupyter ノートブックはどちらも製品化することが困難ですが、どちらのツールも実際には製品化で使用されています。 Excel と Jupyter は独自の依存関係を導入する重い実行環境であり、スタンドアロン スクリプトの作成に慣れているエンジニアにとっては無駄に見えるでしょう。
  • どちらもエラーが発生しやすくテストが困難です。どちらのプラットフォームもコード作成の経験が浅いユーザーに対応しているという事実により、バグだらけのソリューションを作成するという評判が得られます。実際には、単体テストなどのツールや品質管理の文化がなければ、スプレッドシートやノートブックのバグが本番環境に侵入する可能性が高くなるだけかもしれません。

違い

  • Excel を使用すると、プログラマーでなくても、セル間でデータがどのように流れるかを簡単に理解できます。
    • Excel のグリッドはセル座標を介してデータを参照する自然な方法を提供しますが、Jupyter は名前付き変数に依存しているため、ユーザーは変数に名前を付けるのが難しいという現実に直面する必要があります。
    • Excel ではセルが目の前にあるため、複数ステップの計算の中間結果を調べるのが簡単です。 Jupyter ノートブックの Print ステートメントをセットアップして実行するには、より多くの労力が必要です。
  • Excel は自己完結型です。 Jupyter の価値は Python のパッケージ エコシステムにあります。
    • Python は外部ライブラリに依存しているため、IT 部門は Jupyter の使用を制限しやすくなります。
    • Jupyter をローカルにインストールする場合も、ネットワーク経由でノートブックを実行する場合も、Excel を開くよりも多くのセットアップが必要です。
    • ほとんどの Excel スプレッドシートは Excel に付属の関数のみを使用します。つまり、取引先担当者はモデルを開いて変更し、実行するだけで済みます。ノートブックは特定の Python 環境に強く結びついており、Python 環境のセットアップが難しいため、組織外で共有することは難しく、組織内でさえも共有することが困難です。
  • Excel は「貧乏人のデータベース」として機能し、複数のシートに表形式のデータを保存し、ピボットテーブルを介して OLAP のような機能を提供します。 Jupyter ノートブックは通常、API または共有ファイルの場所からデータを読み込みます。これが、Jupyter ノートブックが自己完結型ではないもう 1 つの理由です。
  • 「数値のごまかし」は、Jupyter よりも Excel の方が簡単です。スプレッドシートは、コードを再実行したり対話型ウィジェットを設定したりすることなく、リアルタイムで更新されます。 1 回限りの変更は簡単に行えますが、これはスピードが重要な場合に重要です。
  • Jupyter ではコードの操作が避けられませんが、Excel は完全に GUI を通じて使用できます。セルの数式で関数を選択するメニューもあります。
    • Jupyter はより自由度が高く柔軟性がありますが、効果的に使用するにはより多くの技術的知識が必要です。
  • Jupyter は Excel よりも物語とストーリーテリングに重点を置いています。
    • Jupyter ノートブックは、コードと散文を散りばめて物語の流れを作り出す、読み書き可能なプログラミング向けに設計されています。
    • Excel でのレポートとプレゼンテーションは通常、コピー/貼り付けか PowerPoint との統合に依存します。

影響

Python を Excel に統合するという Microsoft の取り組みによって、科学技術コンピューティングにおける Jupyter の優位性が大きく損なわれることはありません。スプレッドシートには自然な物語構造が欠けているため、教育や再現可能な研究にはあまり適していません。さらに、「オープン サイエンス」コミュニティは、アメリカの大手テクノロジー企業によって構築されたクローズドソース ツールを決して採用しません。

スプレッドシートの場合と同様に、Jupyter ノートブック3 の運用上の欠点を軽減するツールと「ベスト プラクティス」が登場します。ほとんどのフロントオフィスユーザーはそのようなガイドライン4を無視し、IT 部門との継続的な緊張を引き起こします。 Excel で何が起こったかを目の当たりにして、多くの IT 部門は、Jupyter のサポートはセキュリティの脆弱性とメンテナンスの悩みのパンドラの箱を開けるようなものだと考えています。

どちらのプラットフォームも、近い将来まで存続するでしょう。根本的に異なるスキルセットを持つユーザーベースをターゲットとしているため、どちらも他方に取って代わることはありません。 定量的モデリングとビジネス上の意思決定の交差点で働く人々は、今後も両方のツールに精通する必要があります。

結論

問題を解決している組織の文化に最も適合するツールを使用してください。 技術要件により、あるツールを他のツールよりも使用することが強制される状況があります。どちらかのツールの使用のみを許可する組織。 Excel が主流の分野で作業していて、Python の機能が必要な場合、私の経験では、Excel ユーザーに Jupyter ノートブックを開かせるよりも、Python コードから Excel スプレッドシートを読み書きする方が簡単です。

世界中のソフトウェア エンジニアと IT 部門は、数十年にわたってスプレッドシートを扱ってきたのと同じように、今後も Jupyter ノートブックを軽視し続けるでしょう。 MBA タイプは Jupyter ノートブックを使用しないという事実により、IT 部門が Jupyter ノートブックの使用に対して厳しい制限を課すことが容易になります。皮肉なことに、多くのフロントオフィス ユーザーは、Microsoft が Python を Excel に統合し終わった後にのみ Python にアクセスできるようになる可能性があります。


  1. 一部の抵抗者は依然として MATLAB、R、SPSS、または SAS を使用していますが、高額なライセンス料金により、時間の経過とともにユーザーは無料のオープンソースの代替手段に移行し続けるでしょう。教育市場の獲得は、MathWorks のような企業にとってビジネス戦略の重要な部分ですが、永久に維持される可能性は低いです。 ↩

  2. nbdime などのツールは、Jupyter ノートブックのバージョン管理に役立ちますが、それらを使用すると、さらに複雑さが加わります。 ↩

  3. 製紙工場のようなツールは、運用環境でのノートブックの実行を効率化することを目的としています。クラウド プロバイダーは、本番環境での Jupyter ノートブックを含むパイプラインの作成もサポートしています。 ↩

  4. スプレッドシートを作成するための FAST 標準について聞いたことがある人はどれくらいいるでしょうか? ↩

以上がJupyter Notebook はスプレッドシートのようなものです。両方を学びましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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