ホームページ >バックエンド開発 >Python チュートリアル >NumPy の .reshape() メソッドで配列を再形成する場合、-1 はどのような役割を果たしますか?

NumPy の .reshape() メソッドで配列を再形成する場合、-1 はどのような役割を果たしますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-20 22:16:02479ブラウズ

What Role Does -1 Play in NumPy's .reshape() Method for Array Reshaping?

NumPy の .reshape() メソッドの -1 は何を意味しますか?

NumPy では、.reshape() メソッドは変更に使用されます。多次元配列の形状。興味深いことに、値 -1 は、特定の方法で配列を再形成するために使用できます。

-1 の概念を理解する

NumPy では、-1 は未知の値を示します。配列を再形成するための次元。形状パラメーターの 1 つとして -1 を指定すると、特定の条件を満たすように形状が自動的に計算されるように指定されます。

元の形状との互換性

重要配列を再形成するための条件は、新しい形状が元の形状と互換性があることです。これは、再形成された配列の要素数が元の配列の要素数と一致する必要があることを意味します。

未知の次元の推論

NumPy は、次のようにして未知の次元を計算します。配列の長さとその他の指定された次元を考慮します。これにより、新しい形状が上記の互換性条件を満たすことが保証されます。

次の NumPy 配列を考えてみましょう:

<code class="python">z = np.array([[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]])</code>

元の形状is (3, 4).

(-1) で再形成

唯一のパラメーターとして (-1) を使用して z を再形成すると、すべての要素を含む 1D 配列が得られます。要素:

<code class="python">z.reshape(-1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])</code>

(-1, 1) で再形成

(-1, 1) で再形成すると、未知の行と 1 つの列を持つ配列が作成されます:

<code class="python">z.reshape(-1, 1)
array([[ 1],
   [ 2],
   [ 3],
   [ 4],
   [ 5],
   [ 6],
   [ 7],
   [ 8],
   [ 9],
   [10],
   [11],
   [12]])</code>

(-1, 2) で整形します

(-1, 2) を使用すると、不明な行と 2 つの列を持つ配列が生成されます:

<code class="python">z.reshape(-1, 2)
array([[ 1,  2],
   [ 3,  4],
   [ 5,  6],
   [ 7,  8],
   [ 9, 10],
   [11, 12]])</code>

(1, -1) による再形成

(1, -1) による再形成は、1 行と未知の列を持つ配列を作成します:

<code class="python">z.reshape(1,-1)
array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12]])</code>

(-1, -1) による再形成

ただし、両方の次元を -1 に指定すると、新しい形状を一意に決定できないため、NumPy は ValueError を発生させます。

以上がNumPy の .reshape() メソッドで配列を再形成する場合、-1 はどのような役割を果たしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。