「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Numpy の Reshape() の -1 パラメータはワイルドカードですか、それとも固定値ですか?

Numpy の Reshape() の -1 パラメータはワイルドカードですか、それとも固定値ですか?

2024 年 11 月 4 日に公開
ブラウズ:503

Is the -1 Parameter in Numpy\'s Reshape() a Wildcard or a Fixed Value?

Numpy Reshape の -1 の役割を理解する

Numpy では、 reshape() メソッドを使用して配列の形状を変換できます。 2D 配列を操作する場合、reshape(-1) を使用してそれらを 1D 配列に再形成することができます。例:

import numpy as np

a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
a.reshape(-1)
# Output: array([[1, 2, 3, 4, 5, 6, 7, 8]])

通常、array[-1] は配列の最後の要素を表します。ただし、reshape(-1) のコンテキストでは、これは別の意味を持ちます。

Reshape の -1 パラメーター

reshape(- 1) はワイルドカード ディメンションとして機能します。これは、新しい形状の対応する寸法が自動的に決定される必要があることを示します。これは、新しい形状が元の配列の形状と一致し、その長さの次元を維持する必要があるという基準を満たすことによって行われます。

Numpy では、形状パラメーターの 1 つで -1 を使用できるため、未知の次元の指定が可能になります。 。たとえば、(-1, 3) または (2, -1) は有効な形状ですが、(-1, -1) は有効ではありません。

変形 (-1) の例

次の配列を考えます:

z = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
z.shape  # (3, 4)

(-1) を使用した変形:

z.reshape(-1)
# Output: array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
# New shape: (12,)

(-1, 1) を使用した再形成 (単一機能):

z.reshape(-1, 1)
# Output: array([[ 1], [ 2], [ 3], [ 4], [ 5], [ 6], [ 7], [ 8], [ 9], [10],
#                [11], [12]])
# New shape: (12, 1)

(-1, 2) を使用した変形 (単一行):

z.reshape(1, -1)
# Output: array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12]])
# New shape: (1, 12)

(2, -1) を使用した変形:

z.reshape(2, -1)
# Output: array([[ 1,  2,  3,  4,  5,  6], [ 7,  8,  9, 10, 11, 12]])
# New shape: (2, 6)

(3, -1) を使用した変形 (元の形状):

z.reshape(3, -1)
# Output: array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# New shape: (3, 4)

両方の次元を -1、つまり (-1, -1) に指定するとエラーが発生することに注意してください。

重要性を理解することでreshape() で -1 を設定すると、開発者は配列の形状を効果的に変換して、Numpy での特定のデータ処理ニーズを満たすことができます。

リリースステートメント この記事は次の場所に転載されています: 1729433662 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3