Recent Posts
Recent Comments
Archives
반응형
250x250
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-03 00:01
관리 메뉴

Hey Tech

[Python] Numpy 기반 특정 조건의 데이터 찾기/바꾸기(One-hot Encoding) 본문

AI & 빅데이터/데이터 분석 with Python

[Python] Numpy 기반 특정 조건의 데이터 찾기/바꾸기(One-hot Encoding)

Tony Park 2022. 8. 10. 00:10
728x90
반응형

💡 들어가며

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
반응형
Comments