NumPy は Python で数値計算を劇的に高速化するために開発されたライブラリです。この記事では、NumPy の基本的な配列操作や機能について説明します。配列の属性やアクセス方法、基本操作などを学んでいきましょう。
目次
- NumPy 入門: 配列の各種属性
- NumPy 入門: 配列の要素アクセス方法
- NumPy 入門: 配列の基本操作
- NumPy 入門: 配列のリシェイプ(形状変更)
- NumPy 入門: 配列の結合
- NumPy 入門: 配列の分割
- NumPy 入門: 配列の転置
NumPy 入門: 配列の各種属性
NumPy 配列には、次のような属性があります。
shape
: 配列の形状を表すタプルndim
: 配列の次元数size
: 配列の要素数dtype
: 配列のデータ型
import numpy as np arr = np.array([ [1, 2, 3], [4, 5, 6], ]) print("Shape:", arr.shape) #=> (2, 3) print("Ndims:", arr.ndim) #=> 2 print("Size:", arr.size) #=> 6 print("Dtype:", arr.dtype) #=> int64
NumPy 入門: 配列の要素アクセス方法
配列の要素にアクセスする方法は次の通りです。
- インデックス:
arr[i]
- スライス:
arr[i:j:k]
arr = np.array([1, 2, 3, 4, 5]) print(arr[0]) #=> 1 print(arr[-1]) #=> 5 print(arr[1:3]) #=> [2 3] print(arr[::2]) #=> [1 3 5]
NumPy 入門: 配列の基本操作
- 要素ごとの演算:
arr1 + arr2
,arr1 * arr2
など - ブロードキャスト: 形状が異なる配列で要素ごとの演算が可能
- 集約関数:
sum
,mean
,min
,max
など
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(arr1 + arr2) #=> [5 7 9] print(arr1 * arr2) #=> [ 4 10 18] arr3 = np.array([ [1, 2, 3], [4, 5, 6], ]) print(arr1 + arr3) #=> [[2 4 6]] # [5 7 9]] print(np.sum(arr3)) #=> 21 print(np.mean(arr3)) #=> 3.5
NumPy 入門: 配列のリシェイプ(形状変更)
reshape
関数を使って、配列の形状を変更できます。
arr = np.array(range(1, 10)) reshaped_arr = arr.reshape(3, 3) print(reshaped_arr) # [[1 2 3] # [4 5 6] # [7 8 9]]
NumPy 入門: 配列の結合
np.vstack
: 縦に配列を結合np.hstack
: 横に配列を結合
arr1 = np.array([ [1, 2], [3, 4], ]) arr2 = np.array([ [5, 6], ]) print(np.vstack([arr1, arr2])) # [[1 2] # [3 4] # [5 6]] arr3 = np.array([ [7], [8], ]) print(np.hstack([arr1, arr3])) # [[1 2 7] # [3 4 8]]
NumPy 入門: 配列の分割
np.vsplit
: 縦に配列を分割np.hsplit
: 横に配列を分割
arr = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9], ]) arr_vsplit = np.vsplit(arr, 3) print(arr_vsplit) #=> [array([[1, 2, 3]]), array([[4, 5, 6]]), array([[7, 8, 9]])] arr_hsplit = np.hsplit(arr, 3) print(arr_hsplit) #=> [array([[1],[4],[7]]), array([[2],[5],[8]]), array([[3],[6],[9]])]
NumPy 入門: 配列の転置
transpose
関数を使って、配列を転置できます。
arr = np.array([ [1, 2, 3], [4, 5, 6], ]) transpose_arr = np.transpose(arr) print(transpose_arr) # [[1 4] # [2 5] # [3 6]]
この記事では、NumPy の基本的な配列操作や機能について学習しました。NumPy を十分に理解し、効果的なデータ処理や数値計算を行うために、さらに学習や実践を重ねましょう。