개발 꿀팁/PYTHON

파이썬 데이터 분석-애플리케이션 함수

Jammie 2022. 11. 23. 11:56
반응형

대량의 데이터를 분석하는 과정에서 텍스트 데이터를 수치 데이터로 처리하여 모델에 쉽게 넣을 수 있습니다.변수의 woe화와 같은 수치적 데이터를 분할하여 처리해야 할 수도 있습니다.이러한 작업은 파이썬의 apply 함수로 처리할 수 있습니다.오늘은 파이썬에서 apply 함수로 데이터 박스를 좀 더 복잡하게 조작하는 방법을 알려드리겠습니다

 

참고: 이 텍스트에서 사용하는 데이터 상자 date_frame:

         ID                    name                          gende                       age                            height
 10000001            윤일범                           남자                               17                          1.78                   

 10000002            윤니나                          여자                                18                          1.68                 

 10000003            저우잉후이                   여자                                 20                        1.62                  

10000004             윤자항                          여자                                19                        1.73                   

10000005            윤택곤                          남자                                 18                        175                          10000006                이가민                     여자                                 16                        160                  

10000007               자두저우                   남자                                   17                      1.82               

10000008               리자하오                   남자                                   18                        180              

 

 

1 문자형 데이터를 수치형으로 처리
  
원래 데이터 상자에서 성별 열을 '남' 문자는 1로, '여' 문자는 0으로 대체하고 새 열을 생성한다고 가정합니다.첫째, 대체 함수를 사용자 정의할 수 있습니다.구체적인 문구는 다음과 같다.

def replace_gender_to_num(val):
    if val=='남자':
        return 1
    else:
        return 0

그런 다음 apply 함수를 사용하여 이 함수를 호출합니다. 구체적인 문장은 다음과 같습니다

date_frame.gender.apply(replace_gender_to_num)

얻어진 결과는 다음과 같다

이로써 기존 젠더열의 '남'문자는 1로, '여'문자는 0으로 대체됐다.이 열을 원본 데이터 상자에 추가합니다. 구체적인 문구는 다음과 같습니다

date_frame['new_gender'] = date_frame.gender.apply(replace_gender_to_num)

얻어진 결과는 다음과 같다

                    ID                 name                    gende               age             height               new_name      new_gender

0          10000001            윤일범                    남자                17                   1.78                   윤학우                 1

1          10000002            윤니나                    여자                 18                  1.68                  윤학우                   0

2          10000003            저우잉후이            여자                   20                 1.62                  저우 학우               0

3          10000004             윤자항                   여자                   19                1.73                    윤학우                  0

4          10000005            윤택곤                    남자                  18                 175                    윤학우                    1

5          10000006                이가민               여자                   16                  160                    이 학우                   0

6          10000007               자두저우           남자                     17                1.82                    이 학우                    1

7          10000008               리자하오                남자               18                180                      이 학우                    1

 

성별은 남자이고 new_gender의 해당 값은 1이고 성별은 new_gender의 해당 값은 0임을 알 수 있습니다.
  
  

2 수치형 데이터를 세분화하여 처리하다
  
모델링 과정에서 서로 다른 세그먼트의 값을 해당 woe로 변환하려면 apply 함수를 사용하여 처리해야 합니다.유사하게, 이 예에서는 키가 1.8보다 큰 학생을 첫 번째 범주로, 키가 1.65보다 큰 학생을 두 번째 범주로, 나머지 학생을 세 번째 범주로 간주한다고 가정합니다.다음과 같은 변환 함수를 정의할 수 있습니다

def height_to_class(val):
    if val>=1.8:
        return 1
    elif val>=1.65:
        return 2
    else:
        return 3

그런 다음 apply 함수를 사용하여 함수를 호출하고 얻은 결과 값을 원본 데이터 상자에 저장하며 구체적인 문장은 다음과 같습니다

date_frame['heigth_class'] = date_frame.height.apply(height_to_class)

얻어진 결과는 다음과 같다

        ID                 name                  gende             age            height             new_name      new_gender    heigth_ciass

0      10000001       윤일범             남자                  17            1.78                   윤학우                   1                        2

1     10000002        윤니나            여자                   18             1.68                  윤학우                    0                       2 

2     10000003         저우잉후이      여자                20              1.62                  저우 학우               0                       3

3     10000004         윤자항           여자                   19              1.73                   윤학우                  0                       2

4     10000005         윤택곤           남자                  18               175                   윤학우                   1                       2

5    10000006           이가민         여자                   16                160                   이 학우                 0                       3

6     10000007         자두저우       남자                  17                1.82                   이 학우                 1                      2

7     10000008         리자하오        남자                 18                180                    이 학우                 1                      2

 

이로써 파이썬에서 apply 함수를 이용한 데이터 처리가 소개되었으니, 여러분은 apply 함수의 다른 용도가 있는지 생각해 볼 수 있습니다.

반응형