Methoden für boolesche Arrays

Boolesche Werte wurden in den vorangegangenen Methoden in 1 (True) und 0 (False) umgewandelt. Daher wird sum oft zum Zählen der True-Werte in einem booleschen Array verwendet:

[1]:
import numpy as np
[2]:
rng = np.random.default_rng()
data = rng.normal(size=(7, 3))
data
[2]:
array([[ 0.2892129 , -0.67574399, -1.18853755],
       [ 0.30108742,  0.27464408,  0.05025632],
       [ 0.43357058,  0.88041496, -1.39839326],
       [-2.83019669,  0.34271817, -0.46611059],
       [ 1.49941927,  0.57624576,  0.00614989],
       [-2.65594888,  1.63339514, -0.26199767],
       [-1.31868958,  1.97079266, -0.25957685]])

Anzahl der positiven Werte:

[3]:
(data >= 0).sum()
[3]:
np.int64(12)

Anzahl der negativen Werte:

[4]:
(data < 0).sum()
[4]:
np.int64(9)

Es gibt zwei zusätzliche Methoden, any und all, die besonders für boolesche Arrays nützlich sind:

  • any prüft, ob ein oder mehrere Werte in einem Array wahr sind

  • all prüft, ob jeder Wert wahr ist

[5]:
data2 = rng.normal(size=(7, 3))
bools = data > data2

bools
[5]:
array([[ True, False, False],
       [ True,  True, False],
       [ True,  True, False],
       [False,  True, False],
       [False,  True,  True],
       [False, False, False],
       [False,  True,  True]])
[6]:
bools.any()
[6]:
np.True_
[7]:
bools.all()
[7]:
np.False_