1. 기본 라이브러리
# 코드실행시 경고 메시지 무시
import warnings
warnings.filterwarnings(action='ignore')
!pip install seaborn
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
2. 데이터로딩부터 데이터 확인
#데이터 로딩
df = pd.read_csv('data.csv')
#앞 5개 확인, 뒤 5개 확인
df.head()
df.tail()
#데이터프레임 정보(컬럼정보, Null 여부, 타입) 출력하기
df.info()
#인덱스 확인
df.index
#컬럼 확인
df.columns
#값(value) 확인
df.values
#통계치 확인
df.describe()
#NULL 값 확인
df.isnull().sum()
#특정 컬럼 데이터 확인
df['컬럼명']
#특정 컬럼의 데이터별 건수 확인
df['컬럼명'].value_counts()
3. 결측치 처리
#특정 컬럼의 '_' 값이 차지하는 비율이 50%가 넘는 것을 확인하고, 그 컬럼을 삭제하기
#그 후 df1에 저장
df['voc_trt_perd_itg_cd'].value_counts(normalize = True)
df1 = df.drop(columns=['voc_trt_perd_itg_cd'])
#한번에 컬럼 여러개 삭제
df1 = df1.drop(columns=['컬럼1',
'컬럼2',
'컬럼3',
'컬럼4',
'컬럼5'
])
#특정 컬럼의 특정 값 개수 확인 확인
count = (df1['컬럼명'] == '값').sum()
print(count)
# '_'값을 null로 변경, replace 함수사용하기
#그리고 df2에 저장
df2 = df1.replace('_', np.nan)
#df2 데이터프레임 컬럼들의 데이터타입을 확인
df2.dtypes
#최빈값 확인후 널값을 최빈값으로 채우기. df3에 저장
df2['컬럼'].mode()
df2['컬럼'].fillna('확인한 최빈값', inplace = True)
df3 = df2.copy()
#df3에 대해 'age_itg_cd'의 null 값을 중앙값(median)으로 변경하고 데이터 타입을 정수(int)로 변경하세요.
#데이터 처리 후 데이터프레임을 df4에 저장하세요.
df4 = df3
df3.dropna(axis=0, inplace = True)
df3 = df3.astype({'age_itg_cd': 'int'})
df3['age_itg_cd'].median()
#49
df4['age_itg_cd'].replace('nan',49)
#df3['age_itg_cd'].fillna(df3['age_itg_cd'].median(), inplace = True)
#df4 = df3.astype({'age_itg_cd': 'int'})
내일 이어서.. 수정 예정
끄응