【初心者向け】PythonでNumPy配列の次元を学ぶ方法|shape・reshape・ndimを徹底解説

Python

NumPy配列の「形(shape)」「次元(ndim)」は、データ解析や機械学習で必ず登場する基本概念です。

本記事では、初心者が迷わず理解できるよう、shape, ndim, reshape の使い方を解説します。

この記事の対象

  • shape関数について知りたい方
  • reshape関数について知りたい方
  • ndim関数について知りたい方
スポンサーリンク
スポンサーリンク

shape関数

基本的な型

np.shape(***)
***.shape

shapeの中に配列を入れる方法と、「.shape」として次元を調べる方法があります。

使用例

import numpy as np
b = np.arange(10)
print(b.shape)
#(10,)

上記のプログラムは、配列の次元をshapeを用いて抽出するものになります。arangeで10の要素を作成しています。その結果をshapeで次元数を確認しています。

reshape関数

「reshape()」関数は配列の形状を変更するのに便利な関数です。

使用例

import numpy as np

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

print(arr)
print(after)

上記は一次元配列を二次元配列に変更する例です。

結果

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

ndim関数

「ndim」関数は配列の次元を取得する事ができる関数です。

使用例

import numpy as np

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

print(arr)
print(p_ndim)

上記は配列の次元を取得する例になります。

結果

[1 2 3 4 5 6]
1

応用:flattenで1次元に、列の追加

データ整形や前処理でよく使うテクニックです。

import numpy as np
a = np.arange(12)
print(a.shape)  # (12,)

b = a.reshape(3, 4)
print(b.flatten())  # 1次元の配列

new_col = np.array([[100],[200],[300]])
d = np.hstack((b, new_col))
print(d.shape)  # (3, 5)

結果

(12,)
[ 0  1  2  3  4  5  6  7  8  9 10 11]
(3, 5)

体験ツール:配列のshapeを即確認

下記フォームで配列を入力すると、shapeがすぐに分かります。











      
タイトルとURLをコピーしました