今回はNumPyの多次元配列ndarraynの属性について紹介します!
属性の例として、よく使用する6つを説明していきます
属性とは
NumPyの多次元配列ndarrayは、
配列や要素に関する情報などを持つ属性を持っています。
属性を確認することで、ndarrayの特徴がわかります。
そこで、今回属性を確認する方法を紹介していきます!
shape: 配列の形状を取得
shape
属性は、配列の形状をタプルで返します。
実際のコードは以下の通りです。
import numpy as np
ndarray = np.array([[1, 2, 3], [4, 5, 6]])
print(ndarray.shape)
実行結果
(2, 3)
配列の形状がタプルで返ってきていることがわかります。
size: 配列の要素数を取得
size
属性は、配列の全要素数を返します。
2×3行列の場合、6が戻り値です。
具体的なコードは以下の通りです。
import numpy as np
# 1次元配列の場合
ndarray1 = np.array([1, 2, 3])
print(ndarray1.size)
# 2次元配列の例
ndarray2 = np.array([[1, 2, 3], [4, 5, 6]])
print(ndarray2.size)
実行結果
3
6
配列の全要素数を取得できていることがわかります!
dtype: 配列のデータ型を取得
dtype
属性は、配列のデータ型を返します。
データ型には、整数(int), 浮動小数点(float)などがあります。
データ型について詳しく知りたい方はこちら
実際のコードは以下の通りです。
import numpy as np
# int型で配列を定義
ndarray1 = np.array([[1, 2, 3], [4, 5, 6]])
print(ndarray1.dtype)
# float型で配列を定義
ndarray2 = np.array([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
print(ndarray2.dtype)
実行結果
int64
float64
それぞれ定義したデータ型を正しく取得できています!
ndim: 配列の次元を取得
ndim
属性は、配列の次元を返します。
2次元配列の場合は、2を返し、3次元の場合は3を返します。
それでは、実際のコードをみていきましょう!
import numpy as np
# 1次元配列の例
ndarray1 = np.array([1, 2, 3])
print(ndarray1.ndim)
# 2次元配列の例
ndarray2 = np.array([[1, 2, 3], [4, 5, 6]])
print(ndarray2.ndim)
# 3次元配列の例
ndarray3 = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]])
print(ndarray3.ndim)
実行結果
1
2
3
それぞれ定義した配列の次元を正しく取得できています!
itemsize: 配列の要素のバイト数を取得
配列の各要素のバイト数を返します。
メモリを節約したいときに、各要素のバイト数を確認するために使用することが多いです。
コードをみていきましょう!
import numpy as np
# 整数型 8bit(1byte)で配列を定義
ndarray1 = np.array([1, 2, 3], dtype="int8")
print(ndarray1.itemsize)
# 整数型 64bit(8byte)で配列を定義
ndarray2 = np.array([1, 2, 3], dtype="int64")
print(ndarray2.itemsize)
実行結果
1
8
配列の要素を1byte(8bit)で定義した場合は、1
を
8byte(64bit)で定義した場合は、8
を取得できています。
data: バッファオブジェクトを取得
data
属性は、Pythonのバッファオブジェクトを返します。
さっそくコードをみていきましょう!
import numpy as np
ndarray = np.array([1, 2, 3])
print(ndarray.data)
実行結果
<memory at 0x40326e8870>
これが配列のPythonのバッファオブジェクトです。
まとめ
Numpyの多次元配列ndarrayの代表的な属性を6つ紹介しました。
属性は、データ分析には必要不可欠です!
ぜひ理解していきましょう!