自由自在に姿を変える!numpyの配列操作と変形(reshape)を極めよう
こんにちは。ゆうせいです。
前回は、膨大なデータの中から欲しいものだけを「ふるい」にかけるフィルタリングについて解説しました。必要なデータが手元に揃ったら、次はそのデータの「並び方」を整えて、計算しやすい形に整える技術が必要になります。
それが、今回お伝えする 配列の操作と変形 です。
皆さんは、粘土細工をしたことがありますか。同じ量の粘土でも、細長く伸ばせばヘビになりますし、平たく潰せばパンケーキになりますよね。numpyの配列も、中身の数字はそのままに、その形(次元や行列の数)を自由自在に変えることができるのです!
形を変える魔法の杖 reshape
配列の変形で最もよく使われるのが、 reshape(リシェイプ) という関数です。
例えば、 から
までの数字が横一列に並んだ「
次元配列」があるとします。これを、カレンダーのように「
行
列」の表に変えたいときに reshape を使います。
このとき、絶対に守らなければならない鉄のルールがあります。それは、 変形前と変形後で、要素の総数が一致していなければならない ということです!
数のつじつまを合わせよう
例えば、 個の要素がある場合、次のような変形は可能です。
行
4 列
12
行
6 列
12
行
12 列
12
しかし、 行
3 列
15 に変形しようとすると、数が足りないためnumpyに「そんなの無理だよ!」と怒られてしまいます。
転置(てんち)で縦と横を入れ替える
もう一つ、データ分析で非常によく使う操作が 転置(T属性) です。
これは、表の「行」と「列」をそっくりそのまま入れ替える操作です。高校数学の行列でも登場する概念ですが、numpyなら末尾に .T と付けるだけで一瞬で完了します。
例えば、 人の生徒(行)の
教科の点数(列)が並んでいる表を、
教科(行)ごとの
人のデータ(列)に組み替えたいときに便利です。
配列変形のメリットと注意点
メリット
- AIモデルへの適合:ディープラーニングなどのAIでは、入力データの形が厳密に決まっています。 reshape を使えば、どんなデータもAIが食べやすい形に整えられます。
- 計算の効率化:データの向きを揃えることで、複雑な数式も一行のコードで計算できるようになります。
デメリット(注意点)
スライスのときと同様に、 reshape も基本的には 元のデータと中身を共有 しています。変形後の配列の数字を書き換えると、元の配列の数字も変わってしまうことがあるので、慎重に操作しましょう。
よく使う変形操作のまとめ
| 操作名 | プログラムでの書き方 | 効果 |
| reshape | array.reshape(行, 列) | 指定した形に作り変える |
| 転置 | array.T | 縦と横をひっくり返す |
| flatten | array.flatten() | どんな多次元配列も横一列にする |
実際に配列をトランスフォームさせてみよう!
それでは、 列のデータを表形式に変えて、さらにそれをひっくり返してみましょう。
import numpy as np1から6までの数字を作る
data = np.arange(1, 7)
print("元の形:", data)2行3列に変形
matrix = data.reshape(2, 3)
print("2行3列に変形:\n", matrix)縦と横を入れ替える(転置)
transposed = matrix.T
print("縦横を入れ替え:\n", transposed)コードを実行して、数字の並びがダイナミックに変わる様子を確認できましたか。
自由自在に形を操るための指針
配列の変形ができるようになると、データ分析の表現力は一気に高まります。これからの学習では、ぜひ以下のことにチャレンジしてみてください。
reshapeの引数にを入れるテクニック(自動計算)を調べて、楽をする方法を学ぶ。
- 画像データ(縦
横
色の
次元)を、一列のデータに変換する練習をしてみる。
- 複数の配列を縦や横に繋げる
np.concatenate()やnp.vstack()についても触れてみる。
「データの形」を意識できるようになれば、もうあなたは初心者卒業です。
セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。
投稿者プロフィール

- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。
最新の投稿
新人エンジニア研修講師2026年2月26日機械学習の文字式・記号お約束のまとめ
新人エンジニア研修講師2026年2月26日逆三角形の魔法?機械学習で絶対つまずくナブラとデルタの超簡単な覚え方
新人エンジニア研修講師2026年2月26日プログラミング初心者が最初に知るべきYAMLの基本
新人エンジニア研修講師2026年2月26日バラバラのデータを一つに!numpyの配列結合(concatenateとvstack)をマスターしよう
