정보요약

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'}})

정규 표현식