import numpy as np
a = np.arange(10)
a
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a>5
array([False, False, False, False, False, False, True, True, True,
True])
a<0
array([False, False, False, False, False, False, False, False, False,
False])
# any : 하나라도 조건에 만족한다면 true
np.any(a>5), np.any(a<0)
(True, False)
# all : 모두가 조건에 만족한다면 true
np.all(a>5) , np.all(a < 10)
(False, True)
test_a = np.array([1, 3, 0], float)
test_b = np.array([5, 2, 1], float)
test_a > test_b
array([False, True, False])
test_a == test_b
array([False, False, False])
(test_a > test_b).any()
True
a = np.array([1, 3, 0], float)
np.logical_and(a > 0, a < 3) # AND 조건의 condition
array([ True, False, False])
b = np.array([True, False, True], bool)
np.logical_not(b) # NOT 조건의 condition
array([False, True, False])
c = np.array([False, True, False], bool)
np.logical_or(b, c) # OR 조건의 condition
array([ True, True, True])
a
array([1., 3., 0.])
np.where(a > 0, 3, 2)
# a > 0 을 만족하면(true) 3을 , 만족하지 않으면(false) 2를 반환
array([3, 3, 2])
np.where(a>0)
(array([0, 1], dtype=int64),)
a = np.arange(10)
np.where(a > 5)
(array([6, 7, 8, 9], dtype=int64),)
a = np.array([1, np.NaN, np.Inf], float)
np.isnan(a) #is Not a Number
array([False, True, False])
np.isfinite(a) # is finite number
array([ True, False, False])
a = np.array([1,2,4,5,8,78,23,3])
np.argmax(a) , np.argmin(a)
(5, 0)
# axis 기반의 반환
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)
(array([3, 1, 1], dtype=int64), array([0, 0, 2, 2], dtype=int64))