대량의 데이터를 분석하는 과정에서 텍스트 데이터를 수치 데이터로 처리하여 모델에 쉽게 넣을 수 있습니다.변수의 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 함수의 다른 용도가 있는지 생각해 볼 수 있습니다.
'개발 꿀팁 > PYTHON' 카테고리의 다른 글
Python 하늘에 가득한 눈송이를 그리다 (0) | 2022.11.23 |
---|---|
파이썬 데이터 분석 - 데이터 업데이트 (0) | 2022.11.23 |
파이썬 데이터 분석 - 데이터 정렬 (0) | 2022.11.23 |
파이썬으로 미키마우스 그리기 (2) | 2022.11.22 |
[파이썬의 where 함수] (0) | 2022.11.22 |