import pandas as pd
import io
# colab upload
from goolge.colab import files
uploaded = files.upload()
# csv데이터 불러오기, 한글포함 decode 'cp949' or 'euc-kr'
df = pd.read_csv(io.StringIO(uploaded['sc12x_dataset.csv'].decode('cp949')))
# 결측치 확인
pd.isnull(df).sum()
# 결측치 제거
df = df.dropna(axis=1)
# 새로운 항목 열 끝에 추가
df['새로운 항목'] = df['A'] + df['B']
" import datetime "
import datetime
# 날짜 지정
my_date = datetime.datetime(2021, 11, 30)
# 'A'의 dtype을 datetime64으로 변경
df['A'] = pd.to_datetime(df['A'])
# dtype을 동일하게 해줘야 계산이 가능
df['B'] = my_date - df['A']
" boolean을 integer로 변경 "
# boolean을 integer
condition = df['A'] >= 2000 & df['B'] >= datetime.timedelta(days=365*5 + 1)
df['V'] = condition
df['V'] = df['V'].astype(int)
Why?
" 수치형 & 범주형 데이터 "
분류 | 예시 | |
---|---|---|
수치형(numerical) | 연속형(continuous) | 키, 몸무게 |
수치형(numerical) | 이산형(discrete) | 주사위 결과, 교통사고 건수 |
범주형(categorical) | 순위형(ordinal) | 평점, 선호도 |
범주형(categorical) | 명목형(nominal) | 혈액형, 성별 |
" 수치형 데이터에 대해 t-test를 진행 "
# one-sample t-test
pv = stats.ttest_1samp(df['A'], 0.5).pvalue
" 범위형 데이터에 대해 Chi-Square Test를 진행 "
# df['A']를 기준으로 B를 분류
df = pd.crosstab(df['A'], df['B'])
# chi-square test
chi = stats.chisquare(df.sum(axis=1))
🔥 도전과제