정보요약
df.info()
RangeIndex
: 전체 행 개수total columns
: 열 개수Non-Null Count
: 누락 값이 없는 행의 개수dtypes
: 사용된 데이터 타입별 열 개수
누락된 값 처리
누락값
NA, NaN, Null, None
누락된 값 개수
isna()
메서드 활용: 각 열별 비어 있는 행의 존재 여부를 boolean 배열로 반환df.isna().sum()
을 이용하여 각 열별 비어있는 행의 개수 파악 참고로, 반대로notna()
도 있음
누락된 값 표시
pandas 에서 누락값은 실수값(float64)으로 저장함 따로
NaN
값을 가지고 있지 않아np.nan
을 활용하여 누락값을 입력
- 데이터 타입 변경(
astype()
메서드)- 딕셔너리 형식으로 전달
df.astype({'col_nm1':'dtype1', 'col_nm2':'dtype2'})
누락된 값 바꾸기
loc
,fillna()
,replace()
메서드
loc
메서드- 예) 특정 열에 값이 누락된 행을 기준으로 특정 열 출력
df.loc[df['col_nm'].isna(), 'col_nm')
fillna()
- 누락된 값을 특정 값으로 전환
df.fillna('없음')
: 누락값을 ‘없음’으로 전환df.fillna({'col_nm':'없음'})
: 특정 열에 누락된 값을 ‘없음’으로 전환
replace()
- 순서:
old
(바꿀 대상),new
(바꾸려는 내용)
- 순서:
# 모든 행의 특정 값을 다른 값으로 변경하는 방법 2가지
# list 방식: 바꿀 대상을 전부 앞으로 보냄
df.replace(['old1', 'old2'], ['new1','new2'])
# dictionary 방식: 바꿀 대상과 내용을 쌍으로 묶음
df.replace({'old1':'new1', 'old2':'new2'})
# 특정 열 마다 각각의 값을 다른 값으로 변경하는 방법
# dictionary을 2중으로 묶음
df.replace({'col_nm1':{'old1':'new1'},
'col_nm2':{'old2':'new2'}})