5. Data Types and Missing Values
Introduction
DataFrame 또는 Series내의 데이터 유형을 조사하는 방법에 대해 알아봅니다.
또한 항목을 찾고 바꾸는 방법을 배우게 됩니다.
Dtypes
데이터 프레임 또는 시계열의 열에 대한 데이터 유형을 dtype이라고 합니다.
dtype 속성을 사용하여 특정 열의 유형을 잡을 수 있다. 예를 들어 review DataFrame에서 가격 열의 dtype을 얻을 수 있다.
reviews.price.dtype
또는 dtypes 속성은 DataFrame에 있는 모든 열의 dtype을 반환합니다.
reviews.dytpes
데이터 유형은 pandas가 어떻게 데이터를 내부적으로 저장하는지에 대해 보여준다. float64는 64비트 부동소수점 숫자를 사용한다는 의미이고 int64는 비슷한 크기의 정수를 의미합니다.
명심해야 할 한 가지 특징은 전체 문자열로 구성된 열은 고유한 유형이 아니라 object 유형이 지정된다는 것이다.
astype()함수를 사용하여 이러한 변환이 의미가 있는 곳에서 한 유형의 열을 다른 유형의 열로 변환할 수 있다.
예를 들어 점 열을 기존 int64 데이터 유형에서 float64 데이터 유형으로 변환 할 수 있다.
reviews.points.astype('float64')
dataFrame이나 Series 또한 고유한 Dtype을 가지고 있다.
reviews.index.dtype
pandas는 범주형 데이터 및 시계열 데이터와 같은 이국적인 데이터 유형을 지원한다.
Missing data
누락된 항목의 값은 NaN이 발생된다. 기술적인 이유로 NAN의 값의 dtype는 항상 flaot64이다.
pandas는 누락된 데이터에 특화된 몇가지 방법을 제공한다. NaN 항목을 선택하려면 pd.isnull()을 사용한다.
reviews[pd.isnull(reviews.country)]
누락된 값을 교체하는 것은 매우 일반적인 작업이다. pandas는 이 문제에 대해 매우 유용한 방법을 제공한다.
fillna()는 이러한 데이터를 완화하기 위한 몇 가지 다른 전략을 제공한다. 예를 들어 NaN을 "Unknown"으로 간단히 대체할 수 있다.
reviews.region_2.fillna("Unknown")
또는 누락된 값이 Null이 아닌 첫 번째 값으로 채울 수도 있다. 이를 "backfill 전략"이라고 한다.
또는 우리가 대체하고 싶은 값이 null 값이 아닐 수도 있다. 이럴 경우 replace()를 사용한다.
reviews.taster_twitter_handle.replace("@kerinokeefe", "@kerino")
Exercise
1.
What is the data type of the points
column in the dataset?
# Your code here
dtype = ____
# Check your answer
q1.check()
reviews.points.dtype
2.
Create a Series from entries in the points
column, but convert the entries to strings. Hint: strings are str
in native Python.
point_strings = ____
# Check your answer
q2.check()
reviews.points.astype(str)
3.
Sometimes the price column is null. How many reviews in the dataset are missing a price?
n_missing_prices = ____
# Check your answer
q3.check()
reviews.price.isnull().sum()
4.
What are the most common wine-producing regions? Create a Series counting the number of times each value occurs in the region_1
field. This field is often missing data, so replace missing values with Unknown
. Sort in descending order. Your output should look something like this:
reviews_per_region = ____
# Check your answer
q4.check()
reviews.region_1.fillna("Unknown").value_counts().sort_values(ascending=False)
'MachineLearning' 카테고리의 다른 글
[kaggle] Pandas Tutorial - 6 (0) | 2022.05.27 |
---|---|
[kaggle] Pandas Tutorial - 4 (0) | 2022.05.27 |
[kaggle] Pandas Tutorial - 3 (0) | 2022.05.27 |
[kaggle] Pandas Tutorial - 2 (0) | 2022.05.27 |
[kaggle] Pandas Tutorial - 1 (0) | 2022.05.27 |