[Pandas] 판다스 데이터 확인 | 결측치, 중복, 이상치 | 데이터 타입

·2024년 12월 17일

데이터 프레임 정의

import seaborn as sns
data = sns.load_dataset('tips')
df = pd.DataFrame(data)

앞부분 확인

df.head()
df.head(n)
  • n값을 입력하면 제일 상단 n개의 행을 보여줌

뒷부분 확인

df.tail()

데이터프레임 전반적인 정보

df.info()
  • 데이터 타입, 행 개수 등

df.describe()
  • 컬럼 별 개수, 평균, 분위수 등

결측치 확인

df2 = pd.DataFrame({
    'A' : [1, 2, 3, 4],
    'B': [5, 6, 7, None]
})

df2.isna() 
df2.isnull()

결측치 개수 확인

df2.isna().sum()
df2.isnull().sum()

결측치 제거

df2.dropna()

결측치 채우기

df2.fillna(값, inplace = True)
df2.fillnull(값, inplace = True)

중복 데이터 확인 및 제거

# 중복 데이터 확인
df.duplicated(subset=['컬럼1', '컬럼2', '컬럼3'], keep = ___)
# 중복 데이터 제거
df.drop_duplicates(subset=['컬럼1', '컬럼2', '컬럼3'], keep = ___)
  • subset = __: 중복 데이터를 확인할 컬럼.
  • keep = first: 처음 나온 것을 유지
  • keep = last: 마지막에 나온 것을 유지
  • keep = false: 둘 다 중복값으로 봄.

이상치 확인

참고

# IQR 계산
Q1 = df['컬럼1'].quantile(0.25)
Q3 = df['컬럼1'].quantile(0.75)
IQR = Q3 - Q1

# 이상치 기준 설정
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR

# 이상치 제거
df[(df['컬럼1'] >= lower_bound) & (df['컬럼1'] <= upper_bound)]

데이터 타입 확인

df['total_bill'].dtype

결과: dtype('float64')

df.types
  • 전체 컬럼의 dtype 출력

데이터 타입 변경

df['total_bill'] = df['total_bill'].astype(str)
df.info() # 확인

데이터 타입

profile
To Dare is To Do

0개의 댓글