検索
ホームページバックエンド開発Python チュートリアルPythonを使用して動的配列でNumpyブロードキャストを実行するにはどうすればよいですか?

Pythonを使用して動的配列でNumpyブロードキャストを実行するにはどうすればよいですか?

Sep 15, 2023 am 09:13 AM
python動的配列ぎこちないブロードキャスト

Pythonを使用して動的配列でNumpyブロードキャストを実行するにはどうすればよいですか?

「ブロードキャスト」とは、NumPy が算術演算中にさまざまな次元の配列を処理する方法を指します。小さい配列は、特定の制限に従って、大きい配列全体に「ブロードキャスト」され、その形状が確実に保たれます。ブロードキャストにより配列演算をベクトル化できるため、Python ではなく C でループできるようになります。"

これは不必要なデータのコピーを必要とせずに実現され、効率的なアルゴリズムの実装が実現します。場合によっては、ブロードキャストはメモリの無駄な使用を招き、計算速度を低下させるため、否定的な考えとなります。

この記事では、Python を使用して NumPy 配列でブロードキャストを実行する方法を説明します。

定数グループ上でブロードキャストを実行するステップ -

  • ステップ 1. 互換性のある次元の 2 つの配列を作成します

  • ステップ 2. 指定された配列を出力します

  • ステップ 3. 2 つの配列で算術演算を実行します

  • ステップ 4. 結果の配列を出力します

2 つの異なる性質の数グループを追加しました

arange() 関数を使用して、0 から n-1 の数字で構成される numpy 数値の集合を作成します (arange() 関数は、半区切り内の [start, stop] の値を返します)。 )、そこに何らかの常数値が追加されます。 ###例### リーリー

出力

リーリー

定数は 1 つの長さ (軸) を持ち、長さは 8 ですが、9 は軸に沿って伝播する (ただ引っ張られるだけ) という、長さのない単一の数です。数値の集合であり、数学的計算に適しています。

互換性のある 2 つの数グループを追加します

arange() 関数を使用して 0 から n-1 までの 2 つの NumPy 配列を作成し、 reshape() 関数でそれを再形成します (データに影響を与えずに配列を再形成します)。 2 つの配列は互換性のある次元 (3,4) および (3,1) を持ち、両方の配列の対応する要素を追加します。

###例### リーリー

出力

リーリー

givenArray_2 は、givenArray_1 の次元と一致するように 2 番目の次元に沿って拡張されます。両方の配列の次元に互換性があるため、これが可能になります。

互換性のない 2 つの数組の要求と

互換性のない次元 (6, 4) と (6, 1) を持つ 2 つの NumPy 配列を作成します。両方の配列の対応する要素を追加しようとすると、以下に示すようにエラーが発生します。

###例### リーリー

出力

リーリー

行数は6、列数は4です。

サイズ 20 の行列には挿入できません (サイズ 6*4 = 24 の行列が必要です)。

Numpy 多次元配列と線形配列の合計

arange() 関数を使用して多次元配列を作成し、 reshape() 関数を使用してランダムな数の行と列に形状を変更します。 arange() 関数を使用して別の線形配列を作成し、両方の配列を合計します。

例 1

リーリー

出力

リーリー

一連のリニアな数値グループは、2 つの数値グループ 1 (複数の数値グループ) のサイズに適合するように拡張されます。

例 2

リーリー

出力

リーリー

複数の配列が複数の次元に沿って伝播される可能性があることを理解することが重要です。配列 1 の次元は (6、5、4、2) ですが、配列 2 の次元は (5、4、1) です。次元配列は、array1 を 3 番目の次元に沿って拡張し、array2 を 1 番目と 2 番目の次元 (6、5、4、2) に沿って拡張することによって形成されます。

结论

Numpy のプレースメントは、最初の例から始まります。ユーザーは、この方法を使用せずに、数値グループを循環することによって、同じ数字を数値グループ内の各要素に追加できます。遅いのには 2 つの理由があります。循環では Python 循環とやり取りする必要があり、これにより C の実行速度が低下します。内部保存ボタンが発生する可能性があります。

以上がPythonを使用して動的配列でNumpyブロードキャストを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はtutorialspointで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Pythonの主な目的:柔軟性と使いやすさPythonの主な目的:柔軟性と使いやすさApr 17, 2025 am 12:14 AM

Pythonの柔軟性は、マルチパラダイムサポートと動的タイプシステムに反映されていますが、使いやすさはシンプルな構文とリッチ標準ライブラリに由来しています。 1。柔軟性:オブジェクト指向、機能的および手続き的プログラミングをサポートし、動的タイプシステムは開発効率を向上させます。 2。使いやすさ:文法は自然言語に近く、標準的なライブラリは幅広い機能をカバーし、開発プロセスを簡素化します。

Python:汎用性の高いプログラミングの力Python:汎用性の高いプログラミングの力Apr 17, 2025 am 12:09 AM

Pythonは、初心者から上級開発者までのすべてのニーズに適した、そのシンプルさとパワーに非常に好まれています。その汎用性は、次のことに反映されています。1)学習と使用が簡単、シンプルな構文。 2)Numpy、Pandasなどの豊富なライブラリとフレームワーク。 3)さまざまなオペレーティングシステムで実行できるクロスプラットフォームサポート。 4)作業効率を向上させるためのスクリプトおよび自動化タスクに適しています。

1日2時間でPythonを学ぶ:実用的なガイド1日2時間でPythonを学ぶ:実用的なガイドApr 17, 2025 am 12:05 AM

はい、1日2時間でPythonを学びます。 1.合理的な学習計画を作成します。2。適切な学習リソースを選択します。3。実践を通じて学んだ知識を統合します。これらの手順は、短時間でPythonをマスターするのに役立ちます。

Python vs. C:開発者の長所と短所Python vs. C:開発者の長所と短所Apr 17, 2025 am 12:04 AM

Pythonは迅速な開発とデータ処理に適していますが、Cは高性能および基礎となる制御に適しています。 1)Pythonは、簡潔な構文を備えた使いやすく、データサイエンスやWeb開発に適しています。 2)Cは高性能で正確な制御を持ち、ゲームやシステムのプログラミングでよく使用されます。

Python:時間のコミットメントと学習ペースPython:時間のコミットメントと学習ペースApr 17, 2025 am 12:03 AM

Pythonを学ぶのに必要な時間は、人によって異なり、主に以前のプログラミングの経験、学習の動機付け、学習リソースと方法、学習リズムの影響を受けます。現実的な学習目標を設定し、実用的なプロジェクトを通じて最善を尽くします。

Python:自動化、スクリプト、およびタスク管理Python:自動化、スクリプト、およびタスク管理Apr 16, 2025 am 12:14 AM

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。

Pythonと時間:勉強時間を最大限に活用するPythonと時間:勉強時間を最大限に活用するApr 14, 2025 am 12:02 AM

限られた時間でPythonの学習効率を最大化するには、PythonのDateTime、時間、およびスケジュールモジュールを使用できます。 1. DateTimeモジュールは、学習時間を記録および計画するために使用されます。 2。時間モジュールは、勉強と休息の時間を設定するのに役立ちます。 3.スケジュールモジュールは、毎週の学習タスクを自動的に配置します。

Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。