レッスン5 / 5問目

『論理演算 - ufunc』

このレッスンでは論理演算を行うユニバーサル関数について学習していきましょう。論理演算を行うユニバーサル関数は以下の通りとなります。ちなみに論理演算とはif文で登場した「and」や「or」のことです。

ufunc説明
np.logical_andAND(論理積)
np.logical_orOR(論理和)
np.logical_notNOT(否定)
np.logical_xorXOR(排他的論理和)

ではこれらについて順番に見ていきましょう。

logical_and

まずはnp.logical_andについて見ていきます。以下の例ではarr1とarr2それぞれの対応する要素が両方ともTrueの場合にTrueを返します。

  1. arr1 = np.array([True, False, True])
  2. arr2 = np.array([True, True, False])
  3. arr3 = np.logical_and(arr1,arr2)
  4. print(arr3)
[ True False False]    # 両方ともTrueの場合にTrueを返す

logical_or

次はnp.logical_orです。logical_orは以下のようにarr1とarr2それぞれの対応する要素のどちらかがTrueの場合にTrueを返します。

  1. arr1 = np.array([True, False, True])
  2. arr2 = np.array([True, True, False])
  3. arr3 = np.logical_or(arr1,arr2)
  4. print(arr3)
[ True True True]    # どちらかがTrueの場合True

logical_not

次はnp.logical_notです。logical_notは否定を表します。以下のように要素TrueであればFalseを返し、逆に要素がFalseであればTrueを返します。

  1. arr1 = np.array([True, False, True])
  2. arr2 = np.logical_not(arr1)
  3. print(arr2)
[False True False]    # 否定が返される。

logical_xor

では最後はnp.logical_xorについて見ていきましょう。logical_xorは排他的論理和です。排他的論理和とは、一方がTrue、もう一方がFalseの場合にTrueを返す論理演算です。

  1. arr1 = np.array([True, False, True])
  2. arr2 = np.array([True, True, False])
  3. arr3 = np.logical_xor(arr1,arr2)
  4. print(arr3)
[False True True]    # 排他的論理和

ではこのレッスンは以上となります。

演習課題にチャレンジしましょう。

Lesson1

arr1とarr2の排他的論理和を出力してください。

Lesson2

arr1の否定を出力してください。

Last updated:2019/10/30

[ True False  True]
[False False  True]
  1. import numpy as np

  2. arr1 = np.array([True, True, False])
  3. arr2 = np.array([False, True, True])

  4. # 1 arr1とarr2の排他的論理和を出力してください。

  5. arr3 = np.logical_xor(arr1, arr2)
  6. print(arr3)

  7. # 2 arr1の否定を出力してください。

  8. arr4 = np.logical_not(arr1)
  9. print(arr4)
main.py
設定
g
n
i
d
a
o
L