데이터 분석을 하기 위해 우선 현재 데이터를 살펴보고 다듬어 주는 과정이 필요합니다.
1. 데이터 탐색
- 데이터는 데이터프레임 형식이라고 가정하면 우선 어떤 데이터가 있는지 살펴보기 위해 사용하는 함수를 소개하겠습니다.
1) .head()를 사용해서 위에서부터 5개 행 데이터 값을 봅니다. 표 형태로 데이터 일부를 본다고 생각하면 됩니다.
2) .info()를 사용하면 어떤 column(열) 데이터를 가지고 있는지, 그리고 null이 아닌 데이터가 몇 개 있는지, datatype은 무엇인지 알려줍니다.
3) .describe()를 사용하면 각 열의 통계 정보(count, mean, std, min, max, ...)를 알려줍니다. 해당 정보를 통해서 데이터 값이 어떻게 치우쳐 있는지 알 수 있습니다.
함수(head, info, describe) 중 필요에 따라서 적절한 방법을 사용해서 데이터를 한번 살펴보면 좋습니다.
2. 데이터 전처리
1) 가장 먼저 null 데이터가 있는지 확인합니다.
- info 함수를 통해서 not-null 값의 개수와 전체 데이터 개수를 비교해서 파악할 수도 있고 다른 함수를 사용해서 쉽게 확인할 수 있습니다. .isnull().sum() 을 사용하는 겁니다.
2) null 값을 버리거나 다른 값으로 바꿔줍니다.
- null 이 포함된 행 값을 버릴 때는 .dropna(axis = 1) 함수를 사용하면 됩니다.
- null 값을 0으로 바꾸는 경우 .fillna(0) 을 사용하면 됩니다. 0 말고 다른 값을 채울 수도 있습니다.
※ 주의: 행을 버리거나 null을 0으로 바꾸는 경우 모델 학습에 어떠한 영향을 주게 될지 고민해 봐야 됩니다. null 값이 너무 많은 열 전체를 사용하지 않거나, null을 평균값으로 대체하는 경우도 있는데요. 어떤 방법이 적합한지는 고민이 필요하고 아마도 경험에 의한 know-how가 필요하지 않을까 싶습니다.
'Work & Study' 카테고리의 다른 글
[영어 공부] 2일차 - what is your hobby? (0) | 2023.03.26 |
---|---|
[영어 공부] 1일차 - What is your favorite food? (0) | 2023.03.20 |
[데이터 분석 스터디] sklearn.preprocessing.OneHotEncoder (0) | 2023.03.17 |
[데이터 분석 스터디] sklearn.model_selection.train_test_split (0) | 2023.03.07 |