Python

numpyでboolean配列を反転させる

numpyでboolean配列を反転させる。
pythonでよく使われるnumpyでのboolean配列の反転のさせ方を紹介する。


numpyのboolean配列

numpyのboolean配列は以下のように定義できる。
使い方の一つとして配列のマスク処理がある。

[python title="boolean.py"]
import numpy as np

np_bool_list = np.array([[True,False],[True,False]])
print(np_bool_list)
#[[ True False]
#[ True False]]

np_list = np.array([[1,2],[3,4]])
print(np_list)
#[[1 2]
#[3 4]]

print(np_list[np_bool_list])
#[1 3]
[/python]

逆のマスク処理をしたい場合に、反転したboolean配列が必要となる。
しかしnot!では反転できない。

[python title="boolean.py"]
reverse_list = not(np_bool_list)
#ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
[/python]

[python title="boolean.py"]
reverse_list = !np_bool_list
#SyntaxError: invalid syntax
[/python]


numpyでboolean配列を反転させる方法

numpyでboolean配列を反転させるには numpy.logical_not を使う。

numpy.logical_not — NumPy v1.16 Manual

[python title="boolean.py"]
np_reverse_list = np.logical_not(np_bool_list)
print(np_reverse_list)
#[[False True]
#[False True]]
[/python]


役に立ったらシェアしてくれると励みになります。

にほんブログ村 IT技術ブログへ

-Python
-,

Translate »

© 2021 ITips