NumPy 配列とデータ型

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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

配列の作成

ターミナルで新しい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で数値データを扱うための強力なライブラリであり、配列を操作するための多くの便利な関数とメソッドを提供しています。