Python

numpyでboolean配列を反転させる

numpyでboolean配列を反転させる

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


numpyのboolean配列

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

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]

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

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()
reverse_list = !np_bool_list
#SyntaxError: invalid syntax


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

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

numpy.logical_not — NumPy v1.16 Manual

np_reverse_list = np.logical_not(np_bool_list)
print(np_reverse_list)
#[[False  True]
#[False  True]]


KRSW

駆け出し機械学習エンジニア。機械学習、DB、WEBと浅く広い感じ。 Junior machine learning engineer. Not a specialist but a generalist who knows DB, WEB too.

役に立ったらシェアしてくれると励みになります。
If you felt this article is useful, please share.
にほんブログ村 IT技術ブログへ

-Python
-,

Translate »
Social media & sharing icons powered by UltimatelySocial

Copyright© ITips , 2020 All Rights Reserved.