반응형
빅데이터의 경우 파이썬으로 엑셀 또는 csv파일을 읽어와서 처리하는 경우가 많다.
그리고 데이터 전처리를 위해서는 컬럼별 결측값(NaN, missing values) 확인이 필요하다.
컬럼별 결측값 확인하기
파일을 데이터프레임으로 불러오는 경우 pandas에서 isna()와 sum()을 조합하면 컬럼별 결측값을 쉽게 확인할 수 있다.
- 예시 코드:
import pandas as pd
import numpy as np
data = {
'A': [1, 2, np.nan, 4],
'B': [np.nan, 2, 3, 4],
'C': [1, 2, 3, 4]
}
df = pd.DataFrame(data)
# 컬럼별 결측값 개수 구하기
missing_counts = df.isna().sum()
print(missing_counts)
출력시 아래와 같이 A컬럼에서 1개, B컬럼에서 1개, C컬럼에서 0개의 결측값이 존재함을 알 수 있다.
A 1
B 1
C 0
dtype: int64
만약 결과를 데이터프레임형태로 깔끔하게 보고 싶다면 isna().sum() 결과를 데이터프레임으로 바꿔주면 된다.
- 예시 코드
import pandas as pd
import numpy as np
# 예제 데이터프레임
data = {
'A': [1, 2, np.nan, 4],
'B': [np.nan, 2, 3, 4],
'C': [1, 2, 3, 4]
}
df = pd.DataFrame(data)
# 결측치 개수 계산 후 데이터프레임으로 변환
missing_df = df.isna().sum().reset_index()
missing_df.columns = ['Column', 'MissingCount']
print(missing_df)
출력시 아래와 같이 컬럼명과 MissingCount로 이루어진 데이터프레임 형태로 볼 수 있다.
Column MissingCount
0 A 1
1 B 1
2 C 0
결측값이 존재하는 경우에만 확인하기
만약 컬럼이 너무 많아 결측값이 존재하는 경우에만 컬럼별 결측값을 확인하고 싶은 경우에는
"결측값이 존재하는 경우 = 결측치가 1개 이상 있는 컬럼"이므로 아래와 같이 수정하면 된다.
- 예시 코드:
import pandas as pd
import numpy as np
# 예제 데이터프레임
data = {
'A': [1, 2, np.nan, 4],
'B': [np.nan, 2, 3, 4],
'C': [1, 2, 3, 4]
}
df = pd.DataFrame(data)
# 결측치 개수 계산 후 데이터프레임으로 변환
missing_df = df.isna().sum().reset_index()
missing_df.columns = ['Column', 'MissingCount']
# 결측치가 1개 이상 있는 컬럼만 필터링
missing_df = missing_df[missing_df['MissingCount'] > 0]
print(missing_df)
이 경우 아래와 같이 결측값이 존재하는 A, B 컬럼의 결과만 얻을 수 있다.
Column MissingCount
0 A 1
1 B 1
반응형
'IT' 카테고리의 다른 글
[excel] 엑셀 탭(시트) 관련팁 (0) | 2022.07.04 |
---|---|
[excel]엑셀 IF 함수 다중 조건 사용법 (0) | 2022.06.21 |
[excel]엑셀 IF 함수 사용법 예제 (0) | 2022.06.20 |
[excel]엑셀 vlookup, hlookup함수 다중 조건 값 추출 (0) | 2022.06.16 |
[excel]엑셀 vlookup, hlookup 안 될 때 해결 방법 (0) | 2022.06.14 |
댓글