Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python – numpy.reshape


numpy.reshape() データを変更せずに配列に新しい形状を与えます。その構文は次のとおりです-

numpy.reshape(arr, newshape, order='C')

パラメータ

numpy.reshape() 次のパラメータを受け入れることができます-

  • 到着 −入力配列。

  • −シーケンスのエンドポイント

  • 新しい形 −整数の場合、結果はその長さの1次元配列になり、1つの次元は-1になります。

  • 注文 −入力配列要素を読み取る順序を定義します。

    • 順序が「C」の場合、最後のインデックスが最も速く変化し、最初の軸のインデックスがゆっくりと変化する、Cのようなインデックス順序を使用している要素の読み取りと書き込みを行います。

    • 「F」は、最後のインデックス軸がゆっくりと変化し、最初の軸のインデックスが速く変化する、Fortranのようなインデックス順序を使用して要素を読み書きすることを意味します。

    • 「A」は、配列がメモリ内で連続している場合に、Fortranのようなインデックス順で要素を読み書きすることを意味します。

例1

次の例を考えてみましょう-

# Import numpy
import numpy as np

# input array
x = np.array([[3,5,6], [7,8,9]])
print("Array Input :\n", x)

# reshape() function
y = np.reshape(x, (3, -3))
print("Reshaped Array: \n", y)

出力

次の出力が生成されます-

Array Input :
 [[3 5 6]
 [7 8 9]]
Reshaped Array:
 [[3 5]
 [6 7]
 [8 9]]

例2

別の例を見てみましょう-

# Import numpy
import numpy as np

# Create an input array
x = np.array([[1,3,4], [4,6,7]])
print("Array Input :\n", x)

# reshape() function
y = np.reshape(x, 6, order='C')
print("Reshaped Array: \n", y)

出力

次の出力が生成されます-

Array Input :
 [[1 3 4]
 [4 6 7]]
Reshaped Array:
 [1 3 4 4 6 7]

  1. Pythonで配列を回転

    配列Aがあるとします。kステップ右に回転する必要があります。したがって、配列がA =[5、7、3、6、8、1、5、4]、およびk =3の場合、出力は[1,5,4,5,7,3,6、 8]。手順は次のようなものです [4,5,7,3,6,8,1,5] [5,4,5,7,3,6,8,1] [1,5,4,5,7,3,6,8] これを解決するために、次の手順に従います。 nは配列のサイズです k =k mod n A =n –kからendまでのAのサブアレイ+0からn– k –1までのAのサブアレイ 理解を深めるために、次の実装を見てみましょう- 例 class Solut

  2. NumPyPythonでの基本的なスライシングと高度なインデックス作成

    ndarrayのインデックス付けは、標準のpython x [obj]構文を使用して実行できます。ここで、xは配列であり、objは選択です。 利用可能なインデックスには3種類あります- フィールドアクセス 基本的なスライス 高度なインデックス作成 どのような種類のインデックスが作成されるかは、objによって異なります。このセクションでは、主に基本的なスライスと高度なインデックス作成に焦点を当てます。 高度なインデックス作成は2つの部分に分けることができます- 整数配列のインデックス作成 ブールインデックス 基本的なスライス スライスのPythonの基本概念は、基本的なスライスで