Numpy

[Numpy] all&any, comparison, where, argmax&argmin

ju_young 2021. 7. 16. 15:50
728x90
In [2]:
import numpy as np
 
In [4]:
a = np.arange(10)
a
Out[4]:
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
 
In [6]:
a > 5
Out[6]:
array([False, False, False, False, False, False,  True,  True,  True,
        True])

Any&All

In [8]:
np.any(a>5), np.any(a<0)
Out[8]:
(True, False)
 
In [10]:
np.all(a>5), np.all(a<10)
Out[10]:
(False, True)

Comparison

In [12]:
test_a = np.array([1, 3, 0], float)
test_b = np.array([5, 2, 1], float)
test_a > test_b
Out[12]:
array([False,  True, False])
 
In [14]:
test_a == test_b
Out[14]:
array([False, False, False])
 
In [16]:
(test_a > test_b).any()
Out[16]:
True
 
In [18]:
a = np.array([1, 3, 0], float)
np.logical_and(a>0, a<3)
Out[18]:
array([ True, False, False])
 
In [20]:
b = np.array([True, False, True], bool)
np.logical_not(b)
Out[20]:
array([False,  True, False])
 
In [22]:
c = np.array([False, True, False], bool)
np.logical_or(b, c)
Out[22]:
array([ True,  True,  True])
 
In [24]:
a
Out[24]:
array([1., 3., 0.])

Where

In [25]:
np.where(a > 0, 3, 2) #조건식, True, False
Out[25]:
array([3, 3, 2])
 
In [27]:
np.where(a>0) #index 값을 반환
Out[27]:
(array([0, 1], dtype=int64),)
 
In [29]:
a = np.arange(5, 15)
a
Out[29]:
array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14])
In [31]:
np.where(a>10)
Out[31]:
(array([6, 7, 8, 9], dtype=int64),)

isnan&isfinite

In [33]:
a = np.array([1, np.NaN, np.Inf], float)
np.isnan(a)
Out[33]:
array([False,  True, False])
In [35]:
np.isfinite(a)
Out[35]:
array([ True, False, False])

argmax&argmin

In [37]:
a = np.array([1,2,4,5,8,78,23,3])
np.argmax(a), np.argmin(a)
Out[37]:
(5, 0)
In [38]:
a = np.array([[1,2,4,7], [9,88,6,45],[9,76,3,4]])
np.argmax(a, axis=1), np.argmin(a, axis=0)
Out[38]:
(array([3, 1, 1], dtype=int64), array([0, 0, 2, 2], dtype=int64))
728x90