Python では、場合によっては、2 次元配列や多次元配列ではなく、1 次元配列が必要になります。この目的のために、numpy モジュールは次の関数を提供します。 numpy.ndarray. flatten()、 これは、2 次元または多次元配列ではなく、1 次元で配列のコピーを返します。
構文
ndarray.flatten(order='C')
パラメーター:
順序: {'C'、'F'、'A'、'K'}(オプション)
order パラメーターを 'C' に設定すると、配列が行優先の順序でフラット化されることを意味します。 「F」が設定されている場合、配列は列優先の順序でフラット化されます。 'a' がメモリ内で Fortran 連続している場合、および order パラメーターを 'A' に設定した場合にのみ、配列は列優先の順序でフラット化されます。最後の順序は「K」で、メモリ内で要素が発生したのと同じ順序で配列を平坦化します。デフォルトでは、このパラメータは「C」に設定されています。
戻り値:
y: ndarray
この関数は、1 次元に平坦化されたソース配列のコピーを返します。
キーボードにはキーが何個ありますか
例 1:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten() b
出力:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
上記のコードでは
- numpy をエイリアス名 np でインポートしました。
- 次を使用して多次元配列 'a' を作成しました。 配列() 関数。
- 変数「b」を宣言し、戻り値を代入しました。 平坦化() 関数。
- 最後に、次の値を出力しようとしました。 「b」 。
出力には、多次元配列の要素を 1 次元に含む ndarray が表示されます。
例 2:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('C') b
出力:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
上記のコードでは
- numpy をエイリアス名 np でインポートしました。
- 次を使用して多次元配列 'a' を作成しました。 配列() 関数。
- 変数「b」を宣言し、戻り値を代入しました。 平坦化() 関数。
- 関数では「C」オーダーを使用しました。
- 最後に、次の値を出力しようとしました。 「b」 。
出力には、多次元配列の要素を 1 次元に含む ndarray が表示されます。
例 3:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('F') b
出力:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
例 4:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('A') b
出力:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
例 5:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('K') b
出力:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])