Pandas에서 범주형 변수를 만드는 방법(예제 포함)
다음 방법 중 하나를 사용하여 Pandas에서 범주형 변수를 만들 수 있습니다.
방법 1: 처음부터 범주형 변수 만들기
df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']
방법 2: 기존 숫자 변수에서 범주형 변수 만들기
df[' cat_variable '] = pd. cut (df[' numeric_variable '], bins=[ 0,15,25 ,float(' Inf ') ] , labels=[' Bad ', ' OK ', ' Good '])
다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.
예 1: 처음부터 범주형 변수 만들기
다음 코드는 team 이라는 범주형 변수와 points 라는 숫자 변수를 사용하여 pandas DataFrame을 생성하는 방법을 보여줍니다.
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#view DataFrame
print (df)
team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.
#view data type of each column in DataFrame
print ( df.dtypes )
team object
int64 dots
dtype:object
df.dtypes를 사용하면 DataFrame에 있는 각 변수의 데이터 유형을 볼 수 있습니다.
우리는 볼 수있다:
- 팀 변수는 object 입니다.
- points 변수는 정수 입니다.
Python에서 객체는 문자 또는 “범주형” 변수와 동일합니다. 따라서 팀 변수는 범주형 변수입니다.
예 2: 기존 숫자 변수에서 범주형 변수 만들기
다음 코드는 DataFrame의 points 라는 기존 숫자 변수에서 status 라는 범주형 변수를 만드는 방법을 보여줍니다.
import pandas as pd
#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
' points ': [12, 15, 19, 22, 24, 25, 26, 30]})
#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
bins=[ 0,15,25 ,float(' Inf ') ] ,
labels=[' Bad ', ' OK ', ' Good '])
#view updated DataFrame
print (df)
team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good
cut() 함수를 사용하여 다음 값을 갖는 status 라는 새로운 범주형 변수를 만들었습니다.
- 포인트 열의 값이 15보다 작거나 같은 경우 ‘ 나쁨 ‘입니다.
- 그렇지 않고 포인트 열의 값이 25보다 작거나 같으면 ‘ OK ‘입니다.
- 그렇지 않으면 ” 좋아요 “입니다.
cut() 함수를 사용할 때 레이블 수는 bin 수보다 1개 작아야 합니다 .
이 예에서는 상자의 가장자리를 정의하기 위해 상자 에 4개의 값을 사용하고 범주형 변수에 사용할 레이블을 지정하기 위해 레이블에 3개의 값을 사용했습니다.
추가 리소스
다음 튜토리얼에서는 다른 일반적인 Panda 작업을 수행하는 방법을 설명합니다.
Pandas에서 더미 변수를 만드는 방법
Pandas에서 범주형 변수를 숫자로 변환하는 방법
Pandas에서 부울 값을 정수 값으로 변환하는 방법