レッスン1 / 2問目

『ベクトル演算』

このレッスンではベクトル演算について学習していきましょう。NumPyでは各配列に対応する同じインデックスの要素同士で演算を行うことができます。これをベクトル演算と呼びます。このレッスンでは以下の内容について見ていきます。

  • ベクトルとは
  • ベクトルの加算・減算
  • ベクトルの乗算・除算
  • ベクトルの比較演算

ベクトルとは

これまでのレッスンでNumPyの一次元配列を作成してきましたが、この「一次元配列」がベクトルです。以下のように要素が一列に並んでいる配列がベクトルに該当します。

[1 2 3 4 5]

一方、以下のような二次元の配列は行列と呼びます。こちらも重要なワードとなりますので覚えておきましょう。

[[1 2 3] [4 5 6]]

ベクトルの加算・減算

ここからはベクトルの演算について見ていきましょう。まずはベクトルの加算、減算です。冒頭で「NumPyでは各配列に対応する同じインデックスの要素同士で演算を行うことができる」という説明をしましたが、例えば以下のように配列arr1とarr2の要素同士をそれぞれ加算することができます。

  1. arr1 = np.array([1, 2, 3])
  2. arr2 = np.array([4, 5, 6])
  3. print(arr1 + arr2)
[5 7 9]

上記では、「1 + 4」「2 + 5」「3 + 6」というように、arr1とarr2の同じインデックスの要素同士が加算されています。
減算においても以下のように同じインデックスの要素同士が演算されます。

  1. arr1 = np.array([1, 2, 3])
  2. arr2 = np.array([4, 5, 6])
  3. print(arr1 - arr2)
[-3 -3 -3]

また、以下のように配列に対して通常の数値を用いて演算を行うと配列内のすべての要素に対してその演算の効果が及びます。

  1. arr1 = np.array([1, 2, 3])
  2. print(arr1 + 10)
[11 12 13]    # 全ての要素に10が加算される

上記では「1 + 10」「2 + 10」「3 + 10」というように演算が行われています。

ベクトルの乗算・除算

上記でベクトル(配列)の加算と減算について見てきましたが、乗算と除算においても同様に要素同士の演算を行うことができます。

  1. arr1 = np.array([1, 2, 3])
  2. arr2 = np.array([4, 5, 6])
  3. print(arr1 * arr2)
[ 4 10 18]    #それぞれの要素が乗算される

「1 * 4」「2 * 5」「3 * 6」というようにそれぞれの要素が演算されています。

以下は除算の例です。

  1. arr1 = np.array([4, 8, 12])
  2. print(arr1 / 2)
[2. 4. 6.]    # 全ての要素が2で除算される

ベクトルの比較演算

四則演算と同様にベクトルに対しての比較演算も可能です。

  1. arr = np.array([1, 2, 3, 4, 5])
  2. print(arr > 2)
[False False True True True]

上記ではarrの要素が2より大きい場合Trueを返しています。

また、配列同士の比較演算も可能です。

  1. arr1 = np.array([1, 5, 3])
  2. arr2 = np.array([4, 2, 6])
  3. print(arr1 > arr2)
[False True False]    # arr1の要素が大きい場合にTrueを返す。

上記ではarr1の要素とarr2の要素を比較しarr1の要素が大きい場合にTrueを返しています。

ではベクトル演算に関する説明は以上となります。練習問題にチャレンジしましょう。

Lesson1

arr1に対して演算を行い以下の配列を出力してください。

[13 16 19]

Lesson2

arr1に対して比較演算を行い以下の配列を出力してください。(正答は複数存在します。出力が一致していれば正解となります。)

[False True True]

Last updated:2019/10/27

[13 16 19]
[False  True  True]
  1. import numpy as np

  2. arr1 = np.array([3, 6, 9])

  3. # 1. arr1に対して演算を行い指定した配列を出力してください。

  4. print(arr1 + 10)

  5. # 2. arr1に対して比較演算を行い指定した配列を出力してください。

  6. print(arr1 > 4)
main.py
設定
g
n
i
d
a
o
L