더북(TheBook)

 

4데이터 가공하기

 

그런데 많은 값을 단순히 나열하는 것은 한눈에 들어오지 않으므로 큰 의미가 없습니다. 데이터를 잘 다루려면 데이터를 한 번 더 가공해야 합니다. 데이터를 가공할 때 우리가 무엇을 위해 작업을 하는지 그 목적을 잊어서는 안 됩니다. 이 프로젝트의 목적은 당뇨병 발병을 예측하는 것입니다. 그렇다면 모든 정보는 당뇨병 발병과 어떤 관계가 있는지를 중점에 놓아야 합니다. 앞서 살펴본 임신 횟수와 당뇨병 발병 확률의 경우 다음과 같이 계산할 수 있습니다.

 

print(df[['pregnant','class']].groupby(['pregnant'], as_

index=False).mean().sort_values(by='pregnant', ascending=True))

 

모두 세 가지 함수가 사용되었습니다.

먼저 groupby 함수를 사용해 ‘pregnant’ 정보를 기준으로 하는 새 그룹을 만들었습니다. as_index=False는 pregnant 정보 옆에 새로운 index를 만들어 줍니다.

mean 함수를 사용해 평균을 구하고 sort_values 함수를 써서 pregnant 칼럼을 오름차순(ascending)으로 정리하게끔 설정하였습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.