2024.03.28
PythonのNumPyで配列の形を変換する「np.reshape」

Pythonでデータ分析を行う際、NumPyライブラリは欠かせません。NumPyは、多次元配列を効率的に扱うためのライブラリであり、データ分析や機械学習で幅広く利用されています。
NumPyには、配列の形を変換する「np.reshape」という関数があります。
この記事では、np.reshapeの基本的な使い方から、応用的な使い方まで、初心者でも理解できるように解説します。
この記事でわかること
- 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を使いこなして、データ分析や機械学習を効率的に進めてください。
投稿者
-
システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。
同じカテゴリの記事
新着記事
人気の記事