결측치(NULL, NaN, NA; 비어있는값) (isna, dropna, fillna)
count() #결측치 제외한 수를 반환
# isna = isnull : 결측치 여부 확인
data.isna() # 결측치=True(1) 출력됨
data.isna().sum() # 칼럼별로 결측치 갯수 측정
data.isna().mean() # 칼럼별로 결측치 비율 측정(얘를 좀 더 많이 씀)
data[data['칼럼'].isna()] # 해당 칼럼에서 결측치 있는 항목(정보전체) 출력됨
data[data['칼럼'].isna()].index # 해당 칼럼에서 결측치 있는 항목의 인덱스 출력됨
※ 결측치는 결국 노이즈라 해당 항목은 삭제하고 진행하는게 좋음
# dropna : 결측치 항목 삭제
data.dropna() # 결측치가 있는 항목들은 다 삭제하고 출력됨
data.dropna(subset = ['칼럼이름']) # 특정 칼럼의 결측치 항목 다 삭제
# fillna('값') : 결측치를 해당 값 으로 변경
data.fillna(a) # 모든 항목에서 NaN -> a로 변경돼있음
data['칼럼이름'].fillna(a) # 특정 항목값만 변경
data['칼럼이름'] = data['칼럼이름'].fillna(a) # 이렇게 덮어써줄 수 있음
그럼, 어떤 값으로 바꾸는게 좋은가?
아무래도 outlier(다른 값들의 분포와 비교했을때 비정상적으로 떨어져있는 관측치) 때문에
mean(평균값) 보다는 median(중앙값)이 더 안전함
data.mean() # mean 값 계산
data.median() # median 값 계산
'Aiffel_learning > Data_analysis' 카테고리의 다른 글
3. matplotlib으로 그래프 그리기 (1) | 2024.06.06 |
---|---|
2-6. pandas : outlier (3) | 2024.06.06 |
2-5. pandas : dt 메소드와 python datetime 모듈 (1) | 2024.06.06 |
2-4. pandas : 문자열 처리 (0) | 2024.06.06 |
2-3. pandas로 데이터 분석,변환하기 : 값 삭제, 값 불러오기, 변화하기, aggregation (2) | 2024.06.06 |