PythonのNumPyで配列の形を変換する「np.reshape」
目次
np.reshapeとは?
np.reshapeは、NumPyライブラリに含まれるメソッドで、配列の形状を変更するために使用されます。この関数は、元の配列の要素数を維持しつつ、指定された新しい形状に配列を再配置します。
例えば、1次元配列を2次元の行列に変換したり、逆に多次元配列を平坦化することができます。形状を指定するには、行数と列数をタプルとして渡します。重要なのは、新しい形状に再配置する際に配列の総要素数が変わらないことです。
この機能はデータの再構成や機械学習でのデータ前処理に便利です。
np.reshapeの基本的な使い方
np.reshapeは以下の形式で呼び出します。
| np.reshape(array, new_shape) |
- array: 変換したいNumPy配列
- new_shape: 変換後の配列の形状
サンプルコード
1次元配列を2次元配列に変換
| import numpy as np # 1次元配列 array = np.array([1, 2, 3, 4, 5, 6]) # 2次元配列に変換 new_array = np.reshape(array, (2, 3)) print(new_array) |
出力
| [[1 2 3] [4 5 6]] |
(3, 2)の形状の配列を、要素数が6の1次元配列に変換
| array = np.array([[1, 2], [3, 4], [5, 6]]) new_array = np.reshape(array, (-1)) print(new_array) |
出力
| [1 2 3 4 5 6] |
np.reshapeの注意点
np.reshapeを使用する際には、以下の点に注意する必要があります。
- 変換後の配列の要素数は、変換前の配列の要素数と同じである必要があります。
- 変換後の配列の形状は、整数で指定する必要があります。
まとめ
np.reshapeは、NumPyの基本的な関数の一つです。配列の形を変換するだけでなく、さまざまな応用的な使い方ができます。
この記事を参考に、np.reshapeを使いこなして、データ分析や機械学習を効率的に進めてください。