all, any, bool
all()
, any()
는 객체에 대한 판단을 True/False로 반환합니다.
- all: 객체의 모든 원소가 참일때만 참
- any: 객체의 모든 원소가 거짓일 때만 거짓
주의할 점은 두 함수의 대상이 되는 객체는 반복가능한 (iterable) 객체로서 문자열(string), 리스트(list), 터플(turple)등이 대상이 됩니다.
0이 아닌 모든 값은 True로 인식된다. 0이외의 모든 값은 True로 인식됩니다.
import numpy as np import pandas as pd
x=np.random.randint(0, 10, 7) x[3]=0 x
array([3, 4, 2, 0, 6, 8, 8])
all(x), any(x)
(False, True)
all(x>3)
False
any(x>3)
True
내장함수인 all(), any()는 객체 전체를 판단합니다. 객체의 각 요소에 대한 판단은 bool()
에 의해 실행됩니다.
bool()
- 객체의 각 요소에 대한 True/False를 판단
- 객체 자체의 판단은 에러발생
bool(x[2])
True
[bool(i) for i in x]
[True, True, True, False, True, True, True]
다음 함수는 조건에 부합하는 요소의 인덱스를 반환합니다. 이 함수를 적용하여 bool() 결과의 인덱스를 결정할 수 있습니다.
np.where(객체, 조건)
객체내에서 조건에 부합하는 요소의 인덱스를 반환합니다.
객체내에서 조건에 부합하는 요소의 인덱스를 반환합니다.
np.where([bool(i)==False for i in x])
(array([3]),)
댓글
댓글 쓰기