기초 통계량
#평균
mean=df['value'].mean()
#표준편차
std=df['value'].std()
#1사분위수/3사분위수
q1=df['value'].quantile(0.25)
q3=df['value'].qunatile(0.75)
#describe()통해서도 1/3사분위수 확인할 수 있음
df.describe()
#IQR = 3사분위수 - 1사분위수
iqr=q3-q1
#이상치 조건
#1사분위수-(iqr*1.5)보다 작은값과 3사분위수+(iqr+1.5)보다 큰 값을 이상치로 정의
cond1=df['value'] < q1-(iqr)*1.5
cond2=df['value'] > q3+(iqr)*1.5
#필터링
filter_df=df[ cond1 | cond2 ]
#이상치의 합
print(int(filter_df['value'].sum()))
#nlaregst
# corr 상관계수
df_cor=df.corr()
# 특정 변수와의 상관관계 절대값
df_corr=df.corr()['value'].abs()
# 상관관계가 높은 변수명
col=df_corr.loc['value1':'value7'].idxmax()
날짜
# 날짜형식 변환 : pd.to_datetime()
df['date']=pd.to_datetime(df['date'])
# 날짜차이 형식 : df['value'].dt.total_seconds()
df['date_diff']=df['date1']-df['date2']
df['date_diff']=df['date_diff'].dt.total_seconds() #초단위
df['date_diff']=df['date_diff'].dt.total_seconds()/60 #분단위
df['date_diff']=df['date_diff'].dt.total_seconds()/60/60 #시간단위
# 날짜기간 묶음 : df['value'].dt.to_period('M') : 연도와 월을 묶어줌
df['date_new']=df['value'].dt.to_period('M')
# 날짜 요일 : df['value'].dt.dayofweek, 0:월 1:화, 6:일
df['dayofweek']=df['value'].dt.dayofweek
슬라이싱
df['new_value']=df['value'].str[5:]
Scaler
#MinMax Scaler
from sklearn.preprocessing import MinMaxScaler
scaler=MinMaxScaler()
#유의사항! transform안의 df안의 value 지정시, 각괄호 두개 안에 넣어야 print시 에러가 안뜸
df['value']=data.fit_transform(df['value']) --> error
df['value']=data.fit_transform(df[['value']]) --> 정상
#Standard Scaler
from sklearn.preprocessing import StandardScaler
scaler=StandardScaler()
df['score']=scaler.fit_transform(df[['score']])
print(round(df.score.max(),3))
'자격증 > 빅데이터분석기사-실기' 카테고리의 다른 글
빅데이터분석기사 실기 - 3유형 문제유형 모음 (0) | 2024.11.29 |
---|---|
빅데이터분석기사 실기 - 체험환경 사이트 / help(), dir() 활용하기 (0) | 2024.11.24 |
빅데이터분석기사 실기 3유형 - 검정 (T검정/카이제곱검정) (2) | 2024.11.18 |
빅데이터분석기사 실기 3유형 - 회귀분석/로지스틱회귀분석 (0) | 2024.11.17 |
빅데이터분석기사 실기 2유형 (마스터코드) (0) | 2024.11.16 |