NumPy 配列とデータ型

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

はじめに

NumPy は Python プログラミング言語用のライブラリで、Python における数値演算を行うために使用されます。NumPy は多次元配列を使って数値データを扱う便利な方法を提供します。このチュートリアルでは、NumPy 配列を作成、アクセス、および変更する方法について説明し、利用可能なさまざまなデータ型を探ります。

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

配列の作成

ターミナルで新しい Python インタプリタを開きます。

python3

配列を操作する前に、まず配列を作成する必要があります。NumPy には配列を作成するいくつかの方法があります。たとえば:

1. np.array()

この関数は、Python のリストまたはタプルから配列を作成します。

import numpy as np

## Python のリストから配列を作成
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array)  ## 出力:[1 2 3 4 5]

## Python のタプルから配列を作成
my_tuple = (6, 7, 8, 9, 10)
my_array = np.array(my_tuple)
print(my_array)  ## 出力:[ 6  7  8  9 10]

2. np.zeros()

この関数は、指定された形状のゼロの配列を作成します。

## ゼロの配列を作成
my_array = np.zeros((3, 4))
print(my_array)
## 出力:
## [[0. 0. 0. 0.]
##  [0. 0. 0. 0.]
##  [0. 0. 0. 0.]]

3. np.ones()

この関数は、指定された形状の 1 の配列を作成します。

## 1 の配列を作成
my_array = np.ones((2, 3))
print(my_array)
## 出力:
## [[1. 1. 1.]
##  [1. 1. 1.]]

4. np.arange()

この関数は、指定された範囲内で均等に間隔を空けた値の配列を作成します。

## 均等に間隔を空けた値の配列を作成
my_array = np.arange(0, 10, 2)
print(my_array)  ## 出力:[0 2 4 6 8]

5. np.linspace()

この関数は、2 つの端点間で均等に間隔を空けた値の配列を作成します。

## 2 つの端点間で均等に間隔を空けた値の配列を作成
my_array = np.linspace(0, 1, 5)
print(my_array)  ## 出力:[0.   0.25 0.5  0.75 1.  ]

要素のアクセス

一次元配列の要素をアクセスするには、そのインデックスを使用します。

my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0])  ## 出力:1

多次元配列の要素をアクセスするには、各次元におけるその位置を指定する必要があります。

my_array = np.array([[1, 2], [3, 4], [5, 6]])
print(my_array[1, 0])  ## 出力:3

要素の変更

配列の要素の値を変更するには、新しい値を割り当てます。

my_array = np.array([1, 2, 3])
my_array[2] = 4
print(my_array)  ## 出力:[1 2 4]

配列のスライスも変更できます。

my_array = np.array([1, 2, 3, 4, 5])
my_array[1:4] = [6, 7, 8]
print(my_array)  ## 出力:[1 6 7 8 5]

データ型

NumPy 配列は、整数、浮動小数点数、ブール値など、さまざまなデータ型の要素を格納できます。NumPy は、以下を含む幅広いデータ型を提供しています。

データ型 説明
int_ 整数
int8 8 ビット整数
int16 16 ビット整数
int32 32 ビット整数
int64 64 ビット整数
uint8 符号なし 8 ビット整数
uint16 符号なし 16 ビット整数
uint32 符号なし 32 ビット整数
uint64 符号なし 64 ビット整数
float_ 浮動小数点数
float16 半精度浮動小数点数
float32 単精度浮動小数点数
float64 倍精度浮動小数点数
complex_ 複素数
complex64 2 つの 32 ビット浮動小数点数で表される複素数
complex128 2 つの 64 ビット浮動小数点数で表される複素数
bool_ ブール値
object_ オブジェクト(任意の Python オブジェクトを保持できます)

配列のデータ型を指定するには、dtype パラメータを使用できます。

## 特定のデータ型で配列を作成
my_array = np.array([1, 2, 3], dtype=np.float64)
print(my_array)  ## 出力:[1. 2. 3.]

astype() メソッドを使用して、配列を別のデータ型に変換することもできます。

## 配列を別のデータ型に変換
my_array = np.array([1, 2, 3], dtype=np.int32)
my_array = my_array.astype(np.float64)
print(my_array)  ## 出力:[1. 2. 3.]

まとめ

このチュートリアルでは、NumPy 配列を作成、アクセス、変更する方法と、利用可能なさまざまなデータ型を調べました。NumPy は、Python で数値データを扱うための強力なライブラリであり、配列を操作するための多くの便利な関数とメソッドを提供しています。