(5) 판다스(Pandas)란? - Data Types and Missing Values [Hellfer]
https://www.kaggle.com/code/residentmario/data-types-and-missing-values
Data Types and Missing Values
Explore and run machine learning code with Kaggle Notebooks | Using data from multiple data sources
www.kaggle.com
위의 글을 참고하여 작성하였습니다.
데이터프레임(DataFrame) 또는 Series의 열에 대한 데이터 유형을 dtype이라고 합니다.
dtype 속성을 사용하여 특정 열의 유형을 가져올 수 있습니다.
reviews 데이터프레임(DataFrame)의 유형을 알아보겠습니다.
reviews.dtypes
float64는 64비트(bit) 부동 소수점 숫자를 의미하고 int64는 비슷한 크기의 정수를 의미합니다.
문자열로만 구성된 열은 별도의 데이터 타입을 가지지 않고, 대신 'object' 타입으로 취급됩니다.
astype() 함수를 사용하여 해당 열의 유형을 다른 유형으로 변환할 수 있습니다.
# points 열의 유형을 'float' 유형으로 변경
reviews.points.astype('float')
데이터프레임(DataFrame) 또는 시리즈(Series) 인덱스에도 자체 dtype이 존재합니다.
reviews.index.dtype
다음은 결측값(Missing data)에 대해 알아보겠습니다.
판다스(Pandas)에서는 결측값 (Missing data)을 NaN(not a number)으로 표시합니다.
이러한 NaN 값들은 항상 float64 데이터 타입으로 취급됩니다.
결측값 (Missing data)을 처리하기 위한 여러 가지 메서드를 제공하는데 pd.isnull(), pd.notnull()를 사용하여 결측값을 확인할 수 있습니다.
# reviews 데이터프레임의 country 열의 결측값을 확인
reviews[pd.isnull(reviews.country)]
결측값을 처리하기 위해서 fillna() 메서드를 사용합니다.
각 NaN 값을 "UnKnown"으로 대체할 수 있습니다.
reviews.region_2.fillna("UnKnown")
결측값을 처리하는 또 다른 방법은 백필(backfill) 전략을 사용하는 것입니다.
백필(backfill) 전략은 결측값이 있는 위치 이후에 나타나는 첫 번째 유효한 값(Null이 아닌 값)으로 대체합니다.
특정 값을 다른 값으로 대체하고 싶을 경우 replace() 메서드를 사용할 수 있습니다.
예를 들어, 리뷰어 Kerin O'Keefe의 트위터 핸들이 @kerinokeefe에서 @kerino로 변경되었다고 가정해 보겠습니다.
reviews.taster_twitter_handle.replace("@kerinokeefe", "@kerino")