DataFrame의 column 별로 데이터가 어떤 비율로 존재하는지 확인하는 방법에 대해 알아보자.
column 별 값의 비율 알아내는 방법
데이터프레임[column 이름].value_counts() / len(데이터프레임[column 이름])
print(df["gender"].value_counts() / len(df["gender"]))
# 출력:
# male 0.644003
# female 0.355997
# Name: gender, dtype: float64
len 함수는 전체 데이터의 개수를 반환한다.
따라서 위 코드는 "gender" column에서 결측값을 포함한 데이터 비율을 살펴볼 수 있는 코드이다.
결측값을 제외한 데이터의 비율을 살펴보기 위해서는 len 함수 대신, count 함수를 사용해야 한다.
데이터프레임[column 이름].value_counts() / 데이터프레임[column 이름].count()
print(df["gender"].value_counts() / df["gender"]).count()
# 출력:
# male 0.644003
# female 0.355997
# Name: gender, dtype: float64
column 별 NaN 값의 비율 알아내는 방법
데이터프레임.isnull().sum() / len(데이터프레임)
raw_data = {"A":[-1,4,13], "B":[2,5,6], "C":[0,6,11]}
df = pd.DataFrame(raw_data, index = ['first', 'second', 'third'], columns = ["A", "B", "C", "D"])
print(df)
# 출력:
# A B C D
# first -1 2 0 NaN
# second 4 5 6 NaN
# third 13 6 11 NaN
print(df.isnull().sum() / len(df)) # column 내 NaN의 개수 / column의 길이
# 출력:
# A 0.0
# B 0.0
# C 0.0
# D 1.0
# dtype: float64
sum 함수에 axis = 1 값을 넣어 row 별 NaN 값의 비율도 알아낼 수 있다.
print(df.isnull().sum(axis=1) / len(df))
# 출력:
# first 0.333333
# second 0.333333
# third 0.333333
# dtype: float64
'AI > Pandas' 카테고리의 다른 글
[Pandas] DataFrame을 합치는 방법 (0) | 2023.03.09 |
---|---|
[Pandas] groupby (0) | 2023.03.09 |
[Pandas] DataFrame 출력할 때 보여지는 데이터 개수 늘리는 방법 (0) | 2023.03.09 |
[Pandas] apply 함수와 applymap 함수 (0) | 2023.03.09 |
[Pandas] map 함수 VS replace 함수 (0) | 2023.03.09 |