もっと詳しく
NumPyパッケージは、1次元配列に折りたたまれた配列のコピーを返すことができるflatten()関数を提供します。

探検しましょう。

関数構文

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

ndarray。平らにする((注文=「C」)。

関数パラメーター

この関数は1つのパラメーターのみを取ります。 orderパラメーターは、配列がフラット化される順序を定義するために使用されます。

orderパラメーターは次の値を取ります。

  1. ‘C’ –行優先の順序で配列をフラット化するように関数に指示します。
  2. ‘F’ –列優先の順序で配列をフラット化します。
  3. ‘A’ –配列がFortranに隣接している場合は行順で、そうでない場合は列順で配列をフラット化します。
  4. ‘K’ –要素の順序(メモリ内)で配列をフラット化します。

デフォルトでは、関数は入力配列を行優先順にソートします。

戻り値

この関数は、入力配列のコピーを返しますが、1Dにフラット化されます。

関数がどのように機能するかを説明するために、以下に示す例を検討してください。

#numpyをインポートする
輸入 numpy なので np
arr = np。配列(([[12,32,6] [3,45,23]])。
平らにされた = arr。平らにする(()。
印刷((f「オリジナル:{arr}」)。
印刷((f「フラット化:{フラット化}」)。

上記のコードは、以下の出力に示すように、2D配列を取得し、それを1D配列にフラット化します。

オリジナル: [[12 32  6]
[ 3 45 23]]
平らにされた: [12 32  6  3 45 23]

例2

同じ操作を多次元配列に適用することもできます。 コードは次のとおりです。

arr_3d = np。配列(([[1,2,3] [0,4,5,] [9,4,6]])。
平らな = arr_3d。平らにする(()。
印刷((f「オリジナル:{arr_3d}」)。
印刷((f「フラット化:{フラット}」)。

これは戻るはずです:

オリジナル: [[1 2 3]
[0 4 5]
[9 4 6]]
平らにされた: [1 2 3 0 4 5 9 4 6]

例3

orderパラメーターを「F」に変更するとどうなるか見てみましょう。 以下に示すコードについて考えてみます。

arr = np。配列(([[12,32,6] [3,45,23]])。
平らにされた = arr。平らにする((注文=「F」)。
印刷((f「オリジナル:{arr}」)。
印刷((f「フラット化:{フラット化}」)。

この例は、列優先順序で配列を順序付けるように関数に指示します。 結果の配列は次のようになります。

オリジナル: [[12 32  6]
[ 3 45 23]]
平らにされた: [12  3 32 45  6 23]

例4

‘A’パラメータを介して順序付けすると、次のような配列が返されます。

arr = np。配列(([[12,32,6] [3,45,23]])。
平らにされた = arr。平らにする((「A」)。
印刷((f「オリジナル:{arr}」)。
印刷((f「フラット化:{フラット化}」)。

順序「A」は、配列タイプに基づいてソートを選択する「スマート」オプションとして機能します。 この関数は、上記の例の行優先の順序で配列をフラット化します。

オリジナル: [[12 32  6]
[ 3 45 23]]
平らにされた: [12 32  6  3 45 23]

例5

‘K’パラメータは、次のような配列を返します。

arr = np。配列(([[12,32,6] [3,45,23]])。
平らにされた = arr。平らにする((「K」)。
印刷((f「オリジナル:{arr}」)。
印刷((f「フラット化:{フラット化}」)。

出力:

オリジナル: [[12 32  6]
[ 3 45 23]]
平らにされた: [12 32  6  3 45 23]

結論

この記事では、入力配列を1次元にフラット化するためのNumPyのフラット化関数について説明しました。 例を使用して、さまざまな順序パラメーターの下で関数がどのように動作するかを示しました。

また会いましょう!!!

The post NumPy np.flatten() appeared first on Gamingsym Japan.