【Python】NumPyの属性とは?6つの属性を紹介

  • URLをコピーしました!

今回は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つ紹介しました。

属性は、データ分析には必要不可欠です!

ぜひ理解していきましょう!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次