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

Barbara Streisand
リリース: 2024-10-20 22:15:02
オリジナル
980 人が閲覧しました

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 での特定のデータ処理ニーズを満たすことができます。

以上がNumpy の Reshape() の -1 パラメータはワイルドカードですか、それとも固定値ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!