반응형
불리언 선택¶
불리언 선택은 Series의 값 값에 필터링을 위한 논리식을 설정하고 이를 이용하여 새로운 Series객체를 생성하는 방식입니다.
In [ ]:
test_data = pd.Series(np.arange(0, 10), index = list(['a1','a2','a3','a4','a5','a6','a7','a8','a9','a10']))
In [ ]:
test_data
a1 ~ a10을 index로 하는 test_data series 객체를 생성하였습니다. test_data series객체는 0~9까지의 값을 가지고 있습니다.
In [ ]:
logic_filter = test_data >= 5
logic_filter
test_data >= 5 의 비교문 수행한 결과를 logic_filter에 저장하였습니다. (test_data >= 5) 비교 결과가 값 영역에 불리언으로 업데이트 되고 test_data와 동일한 index를 갖는 것을 알 수 있습니다.
In [ ]:
type(logic_filter)
type 명령으로 확인해보면 logic_filter는 test_data와 동일한 index를 갖는 series객체임을 알 수 있습니다. 이 logic_filter를 이용하여 test_data의 값이 5 이상인 부분만 필터링 할 수 있습니다.
In [ ]:
test_data[logic_filter]
필터링을 위한 logic을 바로 적용할 수도 있습니다.f아래와 같이 비교기준을 바로 넣어도 동일한 결과를 얻을 수 있습니다.
In [ ]:
test_data[test_data >= 5]
다중조건 입력이 필요한 경우 '&' 연산자를 사용한다.
In [ ]:
test_data[(test_data >= 1) & (test_data <=4)]
.sum()을 이용하면 조건을 만족하는 아이템의 개수를 알 수 있다.
In [ ]:
(test_data <= 5)
In [ ]:
(test_data <= 5).sum()
.sum()함수를 이용하면 조건을 만족하는 아이템의 갯수인 6의 값을 리턴하는 것을 알 수 있습니다.
반응형
'Programming > Pandas' 카테고리의 다른 글
[Pandas] 데이터프레임 로우, 컬럼 정보 확인하기 (0) | 2022.01.02 |
---|---|
[Pandas] 리인덱싱 (0) | 2022.01.01 |
[Pandas] 날짜범위 index 만들기 (0) | 2021.12.26 |
[Pandas] 데이터 프레임으로 파일로딩 (0) | 2021.12.26 |
[Pandas] DataFrame 만들기 및 index 변경하기 (0) | 2021.12.26 |