ndarray
N-dimentional array
多次元配列を効率的に扱うためのデータ構造
`text
python import numpy as np
arr = np.array([1, 2, 3])
print(arr) # 出力: [1 2 3]
`
全要素が0の配列を作成
`text
python arr = np.zeros((2, 3))
print(arr) # 出力: [[0. 0. 0.]
# [0. 0. 0.]]
`
全要素が1の配列を作成
`text
python arr = np.ones((2, 3))
print(arr) # 出力: [[1. 1. 1.]
# [1. 1. 1.]]
`
連続した数値の配列を作成
`text
python arr = np.arange(0, 10, 2)
print(arr) # 出力: [0 2 4 6 8]
`
指定した範囲を等間隔に分割した配列を作成
`text
python arr = np.linspace(0, 1, 5)
print(arr) # 出力: [0. 0.25 0.5 0.75 1. ]
`
配列の形状(各次元のサイズ)を表示
python arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape) # 出力: (2, 3)
配列の次元数を表示
python arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.ndim) # 出力: 2
配列内の全要素数を表示
python arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.size) # 出力: 6
配列のデータ型を表示
python arr = np.array([1, 2, 3])
print(arr.dtype) # 出力: int64 (環境による)
インデックス参照
配列内の要素をインデックスで指定して取得
python arr = np.array([1, 2, 3, 4])
print(arr[0]) # 出力: 1
print(arr[-1]) # 出力: 4
スライス
一部の要素を指定して取得
python arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4]) # 出力: [2 3 4]
配列の形を変更する
python arr = np.array([[1, 2, 3], [4, 5, 6]])
new_arr = arr.reshape((3, 2))
print(new_arr) # 出力: [[1 2]
# [3 4]
# [5 6]]
行列の行と列を入れ替える
`text
python arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.T) # 出力: [[1 4]
# [2 5]
# [3 6]]
`
配列を結合する
`text
python arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.concatenate((arr1, arr2))
print(arr) # 出力: [1 2 3 4 5 6]
`
要素ごとの演算
配列の各要素に対して演算を行う
python arr = np.array([1, 2, 3])
print(arr + 1) # 出力: [2 3 4]
print(arr * 2) # 出力: [2 4 6]
配列同士の演算
同じ形状の配列同士で演算を行う
python arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2) # 出力: [5 7 9]
ブロードキャスト
異なる形状の配列に対して演算を行う(自動的に形状が揃えられる)
python arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr + np.array([1, 2, 3])) # 出力: [[2 4 6]
# [5 7 9]]
集計関数
配列全体または特定の軸に沿って集計を行う
- sum: 要素の合計を計算
- mean: 要素の平均を計算
- max, min: 要素の最大値、最小値を計算
python arr = np.array([1, 2, 3, 4, 5])
print(arr.sum()) # 出力: 15
print(arr.mean()) # 出力: 3.0
print(arr.max()) # 出力: 5