반응형
250x250
Notice
Recent Posts
Recent Comments
DATA101
[Python] Numpy 기반 특정 조건의 데이터 찾기/바꾸기(One-hot Encoding) 본문
AI & 빅데이터/데이터 분석(Python)
[Python] Numpy 기반 특정 조건의 데이터 찾기/바꾸기(One-hot Encoding)
DATA101 2022. 8. 10. 00:10728x90
반응형
💡 들어가며
Numpy 패키지의 where 함수를 사용하면 데이터프레임에서 특정 조건에 맞는 인덱스를 찾거나, 해당 인덱스의 값을 쉽게 바꿀 수 있습니다. 기본적으로 numpy 패키지 설치 및 import는 필수입니다.
!pip install numpy
import numpy as np
1. 조건에 맞는 인덱스 반환
아래와 같이 조건문을 입력하면, 조건에 해당되는 인덱스를 반환합니다.
np.where(조건문)
아래와 같은 데이터셋이 있을 때,
THK 칼럼 내 값이 30보다 큰 값의 인덱스를 조회해 보면 아래와 같습니다.
np.where(30 < DATASET_RAW['THK'])
2. 조건에 따라 데이터 인코딩
아래와 같이, 조건문과 함께 조건문이 참 혹은 거짓일 경우 각각 데이터를 변환할 값을 입력해 주면 데이터를 인코딩할 수 있습니다.
np.where(조건문, 참일 경우 값, 거짓일 경우 값)
예를 들어, '정상'과 '불량'이라는 2개의 명목형 변수를 갖는 SCALE 칼럼 내 값을 데이터가 '정상'인 경우 1로, '불량'인 경우 0으로 변환할 수 있습니다.
아래 코드를 실행하면 다음과 같습니다.
DATASET_RAW['SCALE'] = np.where(DATASET_RAW['SCALE'] == '정상', 1, 0)
DATASET_RAW
이처럼 변수에 따라 0 또는 1로 변환된 것을 확인하실 수 있습니다. 이처럼 2개의 명목형 변수를 0 또는 1로 각각 분리하는 것을 원-핫 인코딩(One-hot Encoding)이라고 부릅니다. 예를 들어, 제품이 양품이냐 불량품이냐, 스팸메일이냐 정상메일이냐 등의 사례가 있습니다.
포스팅 내용에 오류가 있다면 아래에 👇👇👇 댓글 남겨주시면 감사드리겠습니다.
그럼 오늘도 즐겁고 건강한 하루 보내시길 바랍니다 :)
고맙습니다.
728x90
반응형
'AI & 빅데이터 > 데이터 분석(Python)' 카테고리의 다른 글
[Python] 월 정보, 요일 정보, 시간 정보, 특정 기간 데이터 추출하기 (0) | 2022.08.17 |
---|---|
[Python] 숫자형/문자열 데이터를 날짜형으로 바꾸기(pd.to_datetime) (0) | 2022.08.16 |
[Python] pandas 데이터프레임 문자열 바꾸기(replace, str.replace 함수) (0) | 2022.08.09 |
[Python] 현재 날짜, 시간 구하기(연, 월, 일, 시, 분, 초) (0) | 2022.06.23 |
[Python] 결측치(NaN) 확인 및 제거 방법 (0) | 2022.06.01 |