カテゴリ: shape操作(reshape・transpose) 更新日: 2026/07/26

NumPyのreshape完全ガイド 初心者でもわかる二次元三次元配列の作り方と形状変換

3092
NumPyでreshapeを使って2次元・3次元配列を作成する方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonでデータを扱うときに配列の形を変えるってどういうことですか」

先生

「NumPyのreshapeを使うと一次元のデータを二次元や三次元に変換できるんですよ」

生徒

「画像や表みたいな形にできるってことですか」

先生

「その通りですそれでは基本から順番に見ていきましょう」

1. NumPyのreshapeとは何か

1. NumPyのreshapeとは何か
1. NumPyのreshapeとは何か

NumPyのreshapeは配列の形状を変更するための機能ですPythonでデータ分析や機械学習を行うときには一次元配列だけでなく二次元や三次元の配列を扱う場面が非常に多くなりますそのときにreshapeを使うことで同じデータを別の形に変換することができます

例えば一次元のデータが十個あった場合それを二行五列の表のように扱いたいときにreshapeを使いますこのようにNumPy reshapeは配列操作の基本であり初心者が必ず覚えるべき重要な機能です

2. reshapeの基本的な使い方

2. reshapeの基本的な使い方
2. reshapeの基本的な使い方

reshapeはNumPy配列に対して呼び出すことで簡単に使用できますまずは基本的なコードを見てみましょうPythonでのNumPy reshapeの使い方を理解することが重要です


import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
reshaped = arr.reshape(2, 3)

print(reshaped)

[[1 2 3]
 [4 5 6]]

この例では一次元配列を二行三列の二次元配列に変換していますNumPy reshapeでは要素数が一致している必要があるため元の配列の要素数と変換後のサイズの掛け算が一致しているかを必ず確認してください

3. 二次元配列の作成方法

3. 二次元配列の作成方法
3. 二次元配列の作成方法

NumPy reshapeを使えば簡単に二次元配列を作成できますデータを表形式で扱いたいときに非常に便利です例えば売上データや成績データなどを扱う場合に役立ちます


import numpy as np

data = np.arange(1, 13)
matrix = data.reshape(3, 4)

print(matrix)

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

このようにNumPy reshapeを使うことでデータを見やすい表形式に変換できますPython初心者でも理解しやすい形になるためデータ分析の第一歩として重要なテクニックです

4. 三次元配列の作成方法

4. 三次元配列の作成方法
4. 三次元配列の作成方法

三次元配列は少しイメージしづらいですが複数の二次元配列を重ねたものと考えると理解しやすいです例えば画像データや動画データなどは三次元配列として扱われますNumPy reshapeを使えば簡単に作成できます


import numpy as np

data = np.arange(1, 25)
array3d = data.reshape(2, 3, 4)

print(array3d)

[[[ 1  2  3  4]
  [ 5  6  7  8]
  [ 9 10 11 12]]

 [[13 14 15 16]
  [17 18 19 20]
  [21 22 23 24]]]

このようにNumPy reshapeを使うことで三次元配列も簡単に作成できます機械学習やディープラーニングではこのような多次元配列を扱うことが多いためしっかり理解しておくことが重要です

5. reshapeで自動計算を使う方法

5. reshapeで自動計算を使う方法
5. reshapeで自動計算を使う方法

reshapeではサイズを自動計算させることもできますマイナス一を指定するとその部分のサイズを自動で計算してくれますこれは非常に便利な機能です


import numpy as np

data = np.arange(1, 13)
result = data.reshape(3, -1)

print(result)

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

このようにNumPy reshapeのマイナス一を使うことで柔軟に配列を変換できます初心者でも簡単に扱える便利な機能なので積極的に使いましょう

6. reshapeとtransposeの違い

6. reshapeとtransposeの違い
6. reshapeとtransposeの違い

reshapeは配列の形を変える機能ですがtransposeは行と列を入れ替える機能ですどちらも配列操作でよく使われるため違いを理解しておくことが重要です


import numpy as np

data = np.array([[1, 2, 3], [4, 5, 6]])
transposed = data.transpose()

print(transposed)

[[1 4]
 [2 5]
 [3 6]]

NumPy reshapeは形状を再構築するのに対してtransposeは軸を入れ替えるという違いがあります用途に応じて使い分けることが大切です

7. reshapeでよくあるエラーと注意点

7. reshapeでよくあるエラーと注意点
7. reshapeでよくあるエラーと注意点

NumPy reshapeを使うときに最も多いエラーは要素数の不一致です例えば六個のデータを三行三列に変換しようとするとエラーになりますこのような場合は必ず元の配列の要素数と変換後のサイズの積が一致しているか確認してください

またreshapeは元の配列をコピーせずに参照する場合があるため値の変更に注意が必要です初心者の方はまずは基本的な使い方をしっかり理解してから応用に進むとよいでしょう

8. NumPy reshapeを使う実践的な場面

8. NumPy reshapeを使う実践的な場面
8. NumPy reshapeを使う実践的な場面

NumPy reshapeはデータ分析や機械学習で非常に重要な役割を持ちます例えば画像データをモデルに入力する際や時系列データを整形する際に頻繁に使用されますPythonでデータを扱うなら必須の知識と言えるでしょう

またCSVデータを読み込んだあとに形状を整えることで分析しやすくなるため実務でもよく使われますNumPy reshapeを使いこなせるようになるとPythonでのデータ処理の効率が大きく向上します

まとめ

まとめ
まとめ

NumPy reshapeの理解を整理しよう

ここまでNumPyのreshapeを使った配列操作について学んできましたが最も重要なポイントは一次元配列を二次元配列や三次元配列へと自由に変換できるという点ですPythonでデータ分析や機械学習を行う場合配列の形状を整える作業は避けて通ることができませんそのためNumPy reshapeの基本をしっかり理解しておくことが非常に大切です

reshapeを使うことでデータの見た目を表形式にしたり複数のデータをまとめて扱いやすくすることができます特にNumPy reshape 二次元配列やNumPy reshape 三次元配列といった形で検索されることが多いように多くの初心者がつまずきやすいポイントでもありますしかし今回の内容を理解すれば配列の形状変更に対する苦手意識はなくなるはずです

重要ポイントの振り返り

NumPy reshapeの基本では配列の要素数が変わらないことが最も重要です例えば六個のデータであれば二行三列や三行二列には変換できますが三行三列には変換できませんこの考え方を理解しておくことでエラーを未然に防ぐことができます

またマイナス一を使った自動計算も便利な機能ですNumPy reshape 自動計算といった形でよく使われるこの機能は配列のサイズを柔軟に変更することができるため実務でも非常に役立ちます初心者のうちはこの機能を積極的に使って配列操作に慣れていくとよいでしょう

さらにreshapeとtransposeの違いも重要ですreshapeは配列の形を再構築するのに対してtransposeは行と列を入れ替える処理ですこの違いを理解しておくことでデータ操作の幅が広がります

サンプルで理解を深める

ここではもう一度NumPy reshapeの基本を簡単なサンプルで確認しておきましょう初心者の方はコードを書いて実際に動かしてみることで理解がより深まります


import numpy as np

data = np.arange(1, 10)
matrix = data.reshape(3, 3)

print(matrix)

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

次に三次元配列の例も確認してみましょうNumPy reshape 三次元配列の理解が深まります


import numpy as np

data = np.arange(1, 17)
result = data.reshape(2, 2, 4)

print(result)

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

 [[ 9 10 11 12]
  [13 14 15 16]]]

このようにNumPy reshapeを使えばデータを自由に変換できますPython 配列操作の基礎として必ず身につけておきましょう

実務での活用イメージ

実務ではCSVファイルやデータベースから取得したデータを整形する場面が多くありますその際にNumPy reshapeを使うことで分析しやすい形に変換することができます例えば売上データを日付と商品ごとに分けたり画像データをモデルに入力できる形に変換したりと幅広い用途で使われます

また機械学習では入力データの形状が非常に重要になりますそのためNumPy reshapeを使って正しい形に整える作業は必須となります初心者のうちからこの操作に慣れておくことで将来的に大きな差が生まれます

先生と生徒の振り返り会話

生徒

「NumPy reshapeって配列の形を変えるだけなのにすごく重要なんですね」

先生

「そうですね特にPythonでデータ分析や機械学習をするなら必ず使う機能です」

生徒

「要素数が同じじゃないとエラーになるのがポイントですね」

先生

「その通りですそれとマイナス一を使った自動計算も覚えておくと便利ですよ」

生徒

「二次元や三次元配列も思ったより簡単に作れました」

先生

「実際の開発でも頻繁に使うので何度も書いて慣れていきましょう」

shape操作(reshape・transpose)の一覧へ
新着記事
AWS
【AWS】CloudWatchで障害検知を自動化する設計パターン
【AWS】CloudWatchで障害検知を自動化する設計パターンを初心者向けに解説!AWS監視とアラート通知の基本
AWS
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
Flutter
Flutterの入力フォーム作成!TextField・TextFormFieldの基本
Flutterの入力フォーム作成!TextField・TextFormFieldの基本を初心者向けに解説
AWS
IAM Identity Centerの料金・SSO対応・Entra ID連携を詳しく解説
IAM Identity Centerの料金・SSO対応・Entra ID連携を詳しく解説【初心者向けAWS IAM】
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク