PROGRESS
7 / 13
단원
넘파이(NumPy) 기초 13
데이터프레임 생성과 편집 9
데이터 탐색과 필터링 12
데이터 집계와 통계 13
데이터 시각화(matplotlib) 10
파일 입출력(CSV, Excel, JSON) 10
전체 목록
QUESTION 07 #305
넘파이 배열의 요소, 즉 나이가 19 이상이면 '성인'으로, 그렇지 않으면 '미성년'으로 하려고 합니다. 빈칸을 채워보세요.
main.py
import numpy as np
ages = np.array([15, 22, 18, 30, 12])
# 19세 이상이면 '성인', 아니면 '미성년'으로 분류하기
# 사용법: np.where(조건, 참일_때_값, 거짓일_때_값)
status = np.(ages >= 19, '성인', '미성년')
print("결과:", status)
HINT
힌트: np.where() 함수는 np.where(조건, 참일_때_값, 거짓일_때_값) 형식으로 사용됩니다.
실행 결과 예시
결과: ['미성년' '성인' '미성년' '성인' '미성년']
INTERACTIVE SHELL
Shift + Enter 로 즉시 실행
np.where() - 조건에 따라 값 선택하기
np.where()는 조건에 따라 서로 다른 값을 배열에 적용하는 함수입니다. 엑셀의 IF 함수와 비슷합니다.
기본 문법
np.where(조건, 참일_때_값, 거짓일_때_값)
동작 과정
ages = np.array([15, 22, 18, 30, 12])
status = np.where(ages >= 19, '성인', '미성년')
| 인덱스 | 나이 | ages >= 19 | 결과 |
|---|---|---|---|
| 0 | 15 | False | 미성년 |
| 1 | 22 | True | 성인 |
| 2 | 18 | False | 미성년 |
| 3 | 30 | True | 성인 |
| 4 | 12 | False | 미성년 |
결과: ['미성년', '성인', '미성년', '성인', '미성년']
반복문과 비교
# 반복문 방식 (느림)
result = []
for age in ages:
if age >= 19:
result.append('성인')
else:
result.append('미성년')
# np.where 방식 (빠르고 간결)
result = np.where(ages >= 19, '성인', '미성년')
다양한 활용 예시
# 합격/불합격 판정
np.where(score >= 60, '합격', '불합격')
# 양수/음수 판별
np.where(arr > 0, '양수', '음수')
💡 핵심: np.where()는 반복문 없이 배열 전체에 조건 분기를 적용합니다.