python numpyで二次元配列を一次元配列に変換する

python numpyで二次元配列を一次元配列に変換する

pythonで、ライブラリnumpyのflattenを使用して、二次元配列を一次元配列に変換するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

numpyインストール

numpyをインストールされていない方は、pipでインストールしておきます。

pip install numpy

# Successfully installed numpy-1.19.4

flatten使い方

flattenを使用すると、二次元配列を一次元配列に変換することが可能です。

import numpy as np

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

print(arr)

# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]

# 変換
print(arr.flatten())
# [1 2 3 4 5 6 7 8 9]

以下のように、配列が多次元になっても一次元配列に変更することが可能です。

import numpy as np

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

print(arr)

# [[[1 2 3]
#   [4 5 6]
#   [7 8 9]]

#  [[1 2 3]
#   [4 5 6]
#   [7 8 9]]]

print(arr.flatten())
# [1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9]

ravel関数を使用することも可能です。

import numpy as np

arr = np.array([["a", "b"], ["c", "d"]])

print(arr.ravel())
# ['a' 'b' 'c' 'd']