Python/Pandas

[kaggle learn pandas] Data Types and Missing Values

notty 2024. 5. 30. 17:13
728x90

사용한 데이터

 

Dtypes

  • 데이터 프레임이나 시리즈에 들어있는 값들의 타입
  • DataFrame의 dtype -> df.dtypes  /  series의 dtype -> df.col.dtype (s의 유무)
# 데이터 프레임의 dtype
df.dtypes

#데이터 프레임의 특정 열을 지정 -> series형식
df.col.dtype

 

Auto 데이터 프레임에 적용

  • DataFrame의 dtype : 각 col에 대해서 각각의 dtype과 DataFrame의 dtype을 확인
  • Series의 dtype : 특정 열의 dtype만 확인

 

column의 type 변경

  • 컬럼의 타입을 변경한다 (변경 가능한 타입이라면 데이터 프레임 전체를 일괄로 변경 가능)
  • 모든 데이터 타입이 astype()으로 변경되는 것이 아님 (예: datetime은 int로 변경 불가능)
# 데이터 프레임 전체를 일괄 변경
df.astype('float')

# col을 지정해서 타입 변경
df.col.astype('float')

# 변수에 변환 값을 저장
df_temp = df.col.astype('float')

# 원본에 변환값을 저장
df.col.astype('float', inplace=True)

 

 

Auto DataFrame에 적용

  • Auto 전체를 float로 변경 -> 'object' type을 가지는 열은 변경 불가(에러 발생)
  • Auto의 'name', 'hoursepower'열을 제외하고 float로 변환
  • Auto의 일부 열인 'origin'을 'object' type으로 변경 (int64 -> object)
  • astype() 으로 타입이 변환된 열은 원본에 영향을 미치지 않음
    • 새로운 변수에 저장 or astype() method에 inplace=True인자를 추가하여 변환값 저장

 

Missing data

  • Nan (Not a number) : 결측 값을 나타낸다 -> dtype : float 64
  • pandas는 여러가지 결측치 처리 방법을 제공한다

 

결측치 확인

# 특정 열의 nan값이 들어있는 행을 조회 -> dataframe 형식으로
df[pd.isnull(df.col_name1)]

# 각 열의 결측치 갯수를 확인
df.isnull().sum()

 

결측치 처리

방법1) 해당 행 제거하기

df.dropna()

 

방법2) nan값을 가지는 자리에 특정 값으로 채우기

df.fillna('특정 값')

 

 

Replacing data

  • 데이터 프레임의 특정 값을 업데이트 해야하는 경우
  • 특정 값으로 결측치를 채워넣고 채워 넣을 수 있는 경우 replace() method를 사용하여 값을 업데이트 할 수 있다
df.col_name1.replace('A','B')
728x90
반응형