NumPy Reshape における -1 の役割を理解する
NumPy では、reshape は、オブジェクトの形状を変換できる強力な関数です。基礎となるデータを維持しながら配列を作成します。 reshape を使用する場合、配列の新しい形状を次元のタプルとして指定できますが、場合によっては、謎の値 -1 に遭遇することがあります。
-1 の意味を解明
配列を再形成する基準は、新しい形状が元の形状と互換性がある必要があることです。このコンテキストでは、-1 は不明なディメンションのプレースホルダーとして機能します。 1 つの次元を -1 として指定すると、NumPy は配列の全長と他の指定された次元に基づいてその次元の実際の値を決定します。
-1 を使用した再形成の例
再形成で -1 がどのように機能するかを説明する例を考えてみましょう。
<code class="python">import numpy as np z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) print(z.shape) # (3, 4)</code>
(12,) への再形成
<code class="python">reshaped_z = z.reshape(-1) print(reshaped_z.shape) # (12,)</code>
これではこの場合、新しい形状は (-1,) として指定され、1D 配列が必要であることを示します。 NumPy は未知の次元を 12 として計算し、元の配列のすべての要素を含む 1D 配列が得られます。
(-1, 1) に再形成
<code class="python">reshaped_z = z.reshape(-1, 1) print(reshaped_z.shape) # (12, 1)</code>
ここで、NumPy は -1 を未知の行次元として解釈しますが、列次元を 1 として指定します。結果は 12 行 1 列の 2D 配列になります。
(1, -) に再形成します。 1)
<code class="python">reshaped_z = z.reshape(1, -1) print(reshaped_z.shape) # (1, 12)</code>
このシナリオでは、行数を 1 として指定し、列数は不明のままにします。 NumPy は列の次元を 12 と決定し、1 行 12 列の 2D 配列になります。
単一の特徴またはサンプルには -1 を使用します
注意が重要ですNumPy は、単一の特徴を持つデータを再形成する場合は (-1, 1) を使用し、単一のサンプルを含むデータには (1, -1) を使用することを推奨しています。
<code class="python"># Reshape for a single feature single_feature = np.reshape(z, (-1, 1)) # Reshape for a single sample single_sample = np.reshape(z, (1, -1))</code>
-1 の制限
-1 は再形成に柔軟性を提供しますが、両方の次元を不明として指定するために使用することはできません。これを試行すると、ValueError がトリガーされます。
<code class="python"># Attempting to set both dimensions as -1 invalid_reshape = z.reshape(-1, -1) # ValueError: can only specify one unknown dimension</code>
NumPy の再形成における -1 の役割を理解することは、未知の次元の配列を再形成するために重要であり、整合性を維持しながらデータを効果的に操作できるようになります。
以上がNumPy の Reshape 関数における -1 の意味は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

この記事では、コマンドラインインターフェイス(CLI)の構築に関するPython開発者をガイドします。 Typer、Click、Argparseなどのライブラリを使用して、入力/出力の処理を強調し、CLIの使いやすさを改善するためのユーザーフレンドリーな設計パターンを促進することを詳述しています。

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。

この記事では、Pythonにおける仮想環境の役割について説明し、プロジェクトの依存関係の管理と競合の回避に焦点を当てています。プロジェクト管理の改善と依存関係の問題を減らすための作成、アクティベーション、およびメリットを詳しく説明しています。

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

WebStorm Mac版
便利なJavaScript開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック



