もっと詳しく
NumPyロール関数は、指定された軸に沿って入力配列内の要素をロールするために使用されます。 ローリングとは、特定の配列内の要素の位置をシフトする処理を指します。

要素が最初の位置から最後の位置に移動すると、最初の位置に戻ります。

NumPyのロール関数を調べてみましょう。

関数構文

関数の構文は次のとおりです。

しびれ。ロール((a シフト=なし)。

パラメータは次のとおりです。

  1. a –入力配列を定義します。
  2. shift –配列内の要素がシフトされる場所の数を指します。
  3. axis –指定された要素がシフトされる軸。

関数の戻り値

この関数は、指定された軸の要素が、shiftパラメーターで指定された係数でシフトされた配列を返します。

注:出力配列は、入力配列と同じ形状を保持します。

例1

以下に示すサンプルコードについて考えてみます。

輸入 numpy なので np
arr = np。配列(([[1,2,3] [4,5,6]])。
印刷((f「オリジナル:{arr}」)。
印刷((f“シフト:{np.roll(arr、shift = 1、axis = 0)}”)。

上記のコードは、roll関数を使用して、2D配列の要素を0軸に沿って1倍シフトする方法を示しています。

結果の出力は次のようになります。

オリジナル: [[1 2 3]
[4 5 6]]
シフト: [[4 5 6]
[1 2 3]]

例2

軸1に沿って同じ操作を実行する別の例を考えてみます。

arr = np。配列(([[1,2,3] [4,5,6]])。
印刷((f「オリジナル:{arr}」)。
印刷((f“シフト:{np.roll(arr、shift = 1、axis = 1)}”)。

この場合、ロール関数は軸1に沿ってシフト操作を実行し、以下を返します。

オリジナル: [[1 2 3]
[4 5 6]]
シフト: [[3 1 2]
[6 4 5]]

例3

以下のコードは、roll関数を使用して配列内の要素を5つの場所にシフトする方法を示しています。

arr = np。配列(([[1,2,3] [4,5,6]])。
印刷((f「オリジナル:{arr}」)。
印刷((f“シフト:{np.roll(arr、shift = 5、axis = 0)}”)。

ここでは、シフトパラメータを5に設定し、軸を0に設定します。結果の配列は次のようになります。

オリジナル: [[1 2 3]
[4 5 6]]
シフト: [[4 5 6]
[1 2 3]]

例5

シフト値をタプルとして指定することもできます。 このような場合、軸は同じサイズのタプルである必要があります。

以下のサンプルコードを見てください。

arr = np。アレンジ((10)。形を変える((25)。
印刷((f「オリジナル:{arr}」)。
印刷((f“シフト:{np.roll(arr、(2,1)、axis =(1,0))}”)。

上記のコードは次のようになります。

オリジナル: [[0 1 2 3 4]
[5 6 7 8 9]]
シフト: [[8 9 5 6 7]
[3 4 0 1 2]]

閉鎖

この記事では、NumPyロール関数、その機能、パラメーター、および戻り値について説明しました。 また、さまざまな例を使用して関数の使用方法を示しました。

ハッピーコーディング!!

The post NumPy np.roll appeared first on Gamingsym Japan.