本文へスキップ
BecomeCoder

Pythonデータ分析コース · 第2章 numpy ― 配列で計算する · レッスン6

ベクトル演算 ― まとめて計算する

ブラウザで完結

導入

numpy の最大の魅力は、ループを書かずに配列全体をまとめて計算できることです。これをベクトル演算と呼びます。

説明

配列同士、または配列と数値の四則演算は、要素ごとに一気に行われます。

import numpy as np

a = np.array([1, 2, 3, 4])
b = np.array([10, 20, 30, 40])

print(a + b)   # 要素ごとの足し算
print(b - a)
print(a * 2)   # 全要素を2倍
print(b / a)   # 要素ごとの割り算

ふつうの Python なら for で1つずつ計算する場面が、numpy なら1行です。速くて読みやすいのが利点です。

配列と1個の数値を計算すると、その数値が全要素へ自動的に配られます(ブロードキャスト)。

import numpy as np

celsius = np.array([0, 20, 37, 100])
fahrenheit = celsius * 9 / 5 + 32   # 摂氏→華氏を一括変換
print(fahrenheit)

やってみよう

celsius * 9 / 5 + 32 が4つの温度を一度に変換していることを確かめましょう。値を書き換えて試してください。

演習

prices = np.array([100, 200, 300]) に**消費税10%**をかけた金額(price * 1.1)を配列で表示してください。

ヒント1を見る

prices * 1.1print します。

実際に動かしてみよう

下のエディタにPythonを書いて「実行」を押すと、numpy・pandas・matplotlib が使える本物のPython(Pyodide)で出力とグラフが表示されます。初回だけ読み込みに少し時間がかかります。本文の例をそのまま試したり、書き換えたりしてみましょう(グラフ内の文字は日本語だと表示が崩れるため英字で書きます)。

Python — ライブラリ付きで実行(Pyodide)

numpy / pandas / matplotlib が使える本物のPython(Pyodide)を読み込みます。初回のみ読み込みに少し時間がかかります(以降はブラウザにキャッシュされます)。
スクロールして表示された時点でも自動で読み込まれます。