Pandas에서 인형 얻기

Suraj Joshi 2023년1월30일
  1. pandas.get_dummies()메서드
  2. pandas.get_dummies()메서드를 사용하여 더미 변수 열이있는 DataFrame 생성
  3. 지정된 열에 대해서만 더미 변수를 생성하도록columns 설정
  4. 더미 열의 기본 이름을 변경하려면prefix를 설정하십시오
Pandas에서 인형 얻기

이 자습서에서는 범주 형 열이있는 DataFrame에서 더미 또는 표시기 변수를 사용하여 DataFrame을 생성하는 방법을 설명합니다.

pandas.get_dummies()메서드

pandas.get_dummies(
    data,
    prefix=None,
    prefix_sep="_",
    dummy_na=False,
    columns=None,
    sparse=False,
    drop_first=False,
    dtype=None,
)

pandas.get_dummies()메서드를 사용하여 더미 변수 열이있는 DataFrame 생성

import pandas as pd

students_df = pd.DataFrame(
    {
        "Id": [302, 504, 708, 103, 303],
        "Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
        "Sex": ["Male", "Female", "Male", "Male", "Female"],
    }
)

students_df_dummies = pd.get_dummies(students_df)

print("The original DataFrame is:")
print(students_df, "\n")

print("DataFrame with Dummies:")
print(students_df_dummies)

출력:

The original DataFrame is:
    Id       Name     Sex
0  302       Mike    Male
1  504  Christine  Female
2  708        Rob    Male
3  103     Daniel    Male
4  303   Jennifer  Female 

DataFrame with Dummies:
    Id  Name_Christine  Name_Daniel  Name_Jennifer  Name_Mike  Name_Rob  Sex_Female  Sex_Male
0  302               0            0              0          1         0           0         1
1  504               1            0              0          0         0           1         0
2  708               0            0              0          0         1           0         1
3  103               0            1              0          0         0           0         1
4  303               0            0              1          0         0           1         0

원래 열 이름과 열에 대한 각 고유 값을 연결하여 형성된 더미 열 이름으로 DataFrame을 생성합니다.

Name 열의 경우 5 개의 고유 한 값이 있으므로NameName_과 DataFrame의 각 고유 이름으로 분할됩니다. 더미 열의 값은 초기 DataFrame의 값에 따라 1 또는 0입니다.

student_df 데이터 프레임에서 이름 열 daniel 값이 있는 행은 student_df_dummies 데이터 프레임에서 Name_Daniel 열에 대해 값이 1이고, 다른 모든 이름 값은 student_df_dummies 데이터 프레임에서 Name_Daniel 열에 대해 값이 0이 됩니다.

지정된 열에 대해서만 더미 변수를 생성하도록columns 설정

기본적으로get_dummies()메소드는 dtype이object 또는category 인 각 열에 대한 더미 열이있는 DataFrame을 만듭니다. 특정 열을 지정하기 위해 열 목록을columns 인수로 전달할 수 있습니다.

import pandas as pd

students_df = pd.DataFrame(
    {
        "Id": [302, 504, 708, 103, 303],
        "Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
        "Sex": ["Male", "Female", "Male", "Male", "Female"],
    }
)

students_df_dummies = pd.get_dummies(students_df, columns=["Sex"])

print("The original DataFrame is:")
print(students_df, "\n")

print("DataFrame with Dummies:")
print(students_df_dummies)

출력:

The original DataFrame is:
    Id       Name     Sex
0  302       Mike    Male
1  504  Christine  Female
2  708        Rob    Male
3  103     Daniel    Male
4  303   Jennifer  Female 

DataFrame with Dummies:
    Id       Name  Sex_Female  Sex_Male
0  302       Mike           0         1
1  504  Christine           1         0
2  708        Rob           0         1
3  103     Daniel           0         1
4  303   Jennifer           1         0

Sex열에 대해서만 더미 변수를 생성합니다.

더미 열의 기본 이름을 변경하려면prefix를 설정하십시오

import pandas as pd

students_df = pd.DataFrame(
    {
        "Id": [302, 504, 708, 103, 303],
        "Name": ["Mike", "Christine", "Rob", "Daniel", "Jennifer"],
        "Sex": ["Male", "Female", "Male", "Male", "Female"],
    }
)

students_df_dummies = pd.get_dummies(students_df, columns=["Sex"], prefix="Column")

print("The original DataFrame is:")
print(students_df, "\n")

print("DataFrame with Dummies:")
print(students_df_dummies)

출력:

The original DataFrame is:
    Id       Name     Sex
0  302       Mike    Male
1  504  Christine  Female
2  708        Rob    Male
3  103     Daniel    Male
4  303   Jennifer  Female 

DataFrame with Dummies:
    Id       Name  Column_Female  Column_Male
0  302       Mike              0            1
1  504  Christine              1            0
2  708        Rob              0            1
3  103     Daniel              0            1
4  303   Jennifer              1            0

Sex열에서 생성 된 더미 열의 접두사를 Column으로 설정합니다. 이제 더미 열 이름은Column_FemaleColumn_Male이됩니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Pandas DataFrame Column