1. pandas로 데이터 불러오기
df = pd.read_csv('./data.csv')
2. 데이터 확인
# index 확인
df.index
# columns
df.columns
# values
df.values
# 통계치 계산
df.describe()
# null 값 확인
df.isna().sum()
# 특정 column 확인
df['name']
# column 데이터 별 건수
df['name'].value_counts()
# 비율로 확인
df['name'].value_counts(normalize=True)
# 모든 column에 대한 데이터 분포 건수
[df[c].value_counts() for c in df]
[df[c].value_counts(normalize=True) for c in df]
3. 결측치 처리
- column drop
df1 = df1.drop(['col1','col2'],axis=1)
- '_'을 null로 대체
- 만약 isnull()했는데 null이 없다고 뜨면 null을 다르게 표시했는지 확인해봐야 한다.
- '_'로 표시된 경우 이를 다시 null로 바꿔준 다음 처리하는 것이 편하다.
df1['col'].loc[df1['col']=='_'].value_counts()
df1 = df1.replace("_",np.NaN)
df1.isna().sum()
- null값을 다른 값으로 대체하기, 최빈값, 중앙값 이외에도, 최대, 최소, 평균값 등으로 바꿀 수 있다.
- 최빈값으로 대체
- 중앙값으로 대체
#mode(): 최빈값
df1['col'].mode()
df1['col']= df1['col'].fillna('L')
df1['col'].isna().sum()
df1['col'].mode()
df1[col'] = df1['col'].replace(np.nan, 10001)
df1['col'] = df1['col'].fillna(df1['col'].mode()[0])
#median()
df1['col'] = df1['col'].fillna(df1['col'].median())
- 데이터 타입 변경
# 데이터 타입을 정수(int)로 변경
df1['col']= df1['col'].astype('int')
df1['col'].dtypes
'Certificate > AICE' 카테고리의 다른 글
AICE Associate - ML 모델링 (0) | 2023.04.20 |
---|---|
AICE Associate - 데이터 전처리2(Label Encoding, One-Hot Encoding) (0) | 2023.04.11 |
AICE Associate - 라이브러리 설치 및 import (0) | 2023.04.10 |
1. pandas로 데이터 불러오기
df = pd.read_csv('./data.csv')
2. 데이터 확인
# index 확인
df.index
# columns
df.columns
# values
df.values
# 통계치 계산
df.describe()
# null 값 확인
df.isna().sum()
# 특정 column 확인
df['name']
# column 데이터 별 건수
df['name'].value_counts()
# 비율로 확인
df['name'].value_counts(normalize=True)
# 모든 column에 대한 데이터 분포 건수
[df[c].value_counts() for c in df]
[df[c].value_counts(normalize=True) for c in df]
3. 결측치 처리
- column drop
df1 = df1.drop(['col1','col2'],axis=1)
- '_'을 null로 대체
- 만약 isnull()했는데 null이 없다고 뜨면 null을 다르게 표시했는지 확인해봐야 한다.
- '_'로 표시된 경우 이를 다시 null로 바꿔준 다음 처리하는 것이 편하다.
df1['col'].loc[df1['col']=='_'].value_counts()
df1 = df1.replace("_",np.NaN)
df1.isna().sum()
- null값을 다른 값으로 대체하기, 최빈값, 중앙값 이외에도, 최대, 최소, 평균값 등으로 바꿀 수 있다.
- 최빈값으로 대체
- 중앙값으로 대체
#mode(): 최빈값
df1['col'].mode()
df1['col']= df1['col'].fillna('L')
df1['col'].isna().sum()
df1['col'].mode()
df1[col'] = df1['col'].replace(np.nan, 10001)
df1['col'] = df1['col'].fillna(df1['col'].mode()[0])
#median()
df1['col'] = df1['col'].fillna(df1['col'].median())
- 데이터 타입 변경
# 데이터 타입을 정수(int)로 변경
df1['col']= df1['col'].astype('int')
df1['col'].dtypes
'Certificate > AICE' 카테고리의 다른 글
AICE Associate - ML 모델링 (0) | 2023.04.20 |
---|---|
AICE Associate - 데이터 전처리2(Label Encoding, One-Hot Encoding) (0) | 2023.04.11 |
AICE Associate - 라이브러리 설치 및 import (0) | 2023.04.10 |