配列属性とデータ型(dtype)

NumPyBeginner
オンラインで実践に進む

はじめに

このチュートリアルでは、NumPy 配列の属性を調べ、dtype属性に焦点を当てます。NumPy は Python における数値計算のための強力なライブラリであり、NumPy 配列はこのライブラリのコアなデータ構造です。

NumPy 配列は多次元の同質配列であり、つまり複数の次元に同じデータ型の要素を格納できます。数値演算において効率的で便利であり、多くの関数と機能を備えています。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 中級 レベルの実験の完了率は 80%です。学習者から 99% の好評価を得ています。

NumPy 配列の作成

NumPy 配列の属性を調べる前に、まず NumPy 配列を作成しましょう。numpy.array()関数を使って、リスト、タプル、または他の配列から NumPy 配列を作成できます。

Python シェルを開く

端末で次のコマンドを入力して Python シェルを開きます。

python3

これで、numpy.array()関数を使って NumPy 配列を作成できます。

import numpy as np

## リストから 1 次元配列を作成
one_d_array = np.array([1, 2, 3, 4, 5])

## リストのリストから 2 次元配列を作成
two_d_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

NumPy 配列の属性

NumPy 配列には、配列のプロパティに関する情報を提供するいくつかの属性があります。たとえば:

  • shape:配列の次元を表すタプル。
  • size:配列内の要素の総数。
  • ndim:配列の次元数(軸)。
  • dtype:配列要素のデータ型。
  • itemsize:配列内の各要素のバイト数。

配列属性の使用

これで、これらの属性を実際に使ってみましょう:

## 2 次元配列を作成
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

## 配列の形状を取得
print("形状:", array.shape)  ## 出力:(3, 3)

## 配列のサイズを取得
print("サイズ:", array.size)  ## 出力:9

## 配列の次元数を取得
print("次元数:", array.ndim)  ## 出力:2

## 配列要素のデータ型を取得
print("データ型:", array.dtype)  ## 出力:int64(または int32、システムによって異なります)

## 配列内の各要素のバイト数を取得
print("要素サイズ:", array.itemsize)  ## 出力:8(または 4、システムによって異なります)

dtype を理解する

dtype属性は、配列に格納されるデータの型を決定するため、特に重要です。NumPy は、整数型(int8int16int32int64)、符号なし整数型(uint8uint16uint32uint64)、浮動小数点数型(float16float32float64)、複素数型(complex64complex128)など、様々なデータ型をサポートしています。

NumPy 配列を作成する際には、dtypeパラメータを使用してdtypeを指定できます。指定しない場合、NumPy は入力データからデータ型を推測しようとします。

dtype の使用方法

dtype属性の使用方法を見てみましょう。

## リストから浮動小数点数配列を作成
float_array = np.array([1.2, 2.3, 3.4, 4.5], dtype=np.float32)
print("浮動小数点数配列の dtype:", float_array.dtype)  ## 出力:float32

## リストから整数配列を作成
int_array = np.array([1, 2, 3, 4, 5], dtype=np.int16)
print("整数配列の dtype:", int_array.dtype)  ## 出力:int16

## リストから複素数配列を作成
complex_array = np.array([1 + 2j, 2 + 3j, 3 + 4j], dtype=np.complex64)
print("複素数配列の dtype:", complex_array.dtype)  ## 出力:complex64

## 配列を作成して NumPy にデータ型を推測させる
mixed_array = np.array([1, 2, 3.5, 4.5])
print("混合配列の dtype:", mixed_array.dtype)  ## 出力:float64

## 既存の配列のデータ型を変更する
new_dtype_array = mixed_array.astype(np.int32)
print("新しい dtype の配列:", new_dtype_array)  ## 出力:[1 2 3 4]
print("新しい dtype:", new_dtype_array.dtype)  ## 出力:int32

## 指定された dtype でゼロの配列を作成する
zeros_array = np.zeros((3, 3), dtype=np.uint8)
print("dtype が uint8 のゼロの配列:\n", zeros_array) ## 出力:[[0 0 0] [0 0 0] [0 0 0]]

まとめ

要約すると、このチュートリアルは NumPy 配列の属性、特に dtype 属性に焦点を当てました。NumPy 配列の作成方法を学び、重要な属性を調べ、dtype の重要性について掘り下げました。dtype 属性を理解して効果的に使用することは、Python で NumPy 配列を使った効率的かつ正確な数値計算にとって重要です。NumPy 配列とその属性に関する熟練度を向上させるために、練習を続けましょう。