投稿

[Python 100日チャレンジ] Day 62 - NumPyを活用する

NumPyのインデックス、スライス、条件抽出、ブロードキャストを使って配列データを実践的に操作します。

[Python 100日チャレンジ] Day 62 - NumPyを活用する

インデックスとスライス

NumPy配列は、Pythonのリストと同じように位置を指定して値を取り出せます。

1
2
3
4
5
import numpy as np

arr = np.array([10, 20, 30, 40, 50])
print(arr[0])
print(arr[1:4])

2次元配列では、行と列を指定します。

1
2
3
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix[0, 1])
print(matrix[:, 2])

条件で抽出する

1
2
3
scores = np.array([55, 80, 92, 67, 74])
passed = scores[scores >= 70]
print(passed)

条件式をそのまま配列に適用すると、条件に合う値だけを取り出せます。データ分析でとてもよく使う書き方です。

ブロードキャスト

1
2
prices = np.array([1000, 2000, 3000])
discounted = prices * 0.9

配列と単一の値を計算すると、NumPyが自動的に全要素へ適用します。これをブロードキャストと呼びます。

集計関数

1
2
3
4
data = np.array([12, 18, 21, 25, 30])
print(data.mean())
print(data.std())
print(data.sum())

平均、標準偏差、合計などの基本統計量はNumPyだけで簡単に計算できます。

今日のゴール

NumPyを実務で使うには、スライス、条件抽出、ブロードキャストを自然に書けることが大切です。配列全体を一括で操作する感覚をつかみましょう。

この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。