ホームページ  >  記事  >  バックエンド開発  >  4D NumPy 配列を 2D 配列に再形成するにはどうすればよいですか?

4D NumPy 配列を 2D 配列に再形成するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 05:27:29321ブラウズ

How can I reshape a 4D NumPy array into a 2D array?

NumPy で 4D 配列を 2D 配列に再構成する背後にある直感と概念

課題の理解

多次元配列の再構成NumPy での処理は、特に 4D 配列のような高次元を扱う場合には注意が必要です。課題は、データ値を変更せずに配列の軸を操作して目的の形状を実現する方法を理解することにあります。

再形成の一般的なアプローチ

の一般的な戦略nd 次元 (nd) 配列の再形成には、2 段階のプロセスが必要です:

  1. Permute Axes: 配列の軸を並べ替えて、目的の形状に揃えます。これは、numpy.transpose() や numpy.rollaxis() などの関数を使用して実現できます。
  2. Reshape: numpy.reshape() を使用して、分割または分割することによって配列の形状を変更します。

特定のケース: 4D から 2D への再形成

指定された例では、4D 入力配列が 2D 配列に再形成されます。上記で概説した一般的なアプローチを使用します:

  1. 軸の並べ替え: 次元を揃えるために、軸は次のように再配置されます: (2, 0, 3, 1)。これは、2 番目の次元が 1 番目になり、1 番目が 2 番目になり、3 番目が 3 番目になり、4 番目が 4 番目になることを意味します。
  2. Reshape: 軸を並べ替えると、配列は次のようになります。 reshape() を使用して、目的の (4, 4) 形状に再形成します。

重要な洞察

重要な洞察は、再形成プロセスには、配列を小さなブロックに分割し、それを目的の形状に再組み立てします。軸を慎重に操作し、適切な変形操作を使用することで、多次元配列を効率的に変換できます。

追加の例

このアプローチの一般化性を説明するために、次の例を考えてみましょう。 :

例: 3D 配列から 2D 行列へ

次元 (2, 2, 3) の 3D 配列を考えてみましょう。これを次元 (4, 3) の 2D 行列に再形成するには、軸を (1, 0, 2) として並べ替えてから、次のように再形成します。

<code class="python">>>> import numpy as np

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

>>> permuted = np.transpose(arr, (1, 0, 2))

>>> reshaped = permuted.reshape(4, 3)

>>> print(reshaped)
[[1 2 3]
 [4 5 6]
 [7 8 9]
 [10 11 12]]</code>

以上が4D NumPy 配列を 2D 配列に再形成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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