자격증/빅데이터 분석기사
빅데이터 분석기사 실기 유형 1
by 구대연
2024. 6. 21. 09:47
내용 정리 및 문제모음
자주 쓰이는 함수 정리
import pandas as pd Q1 = data.**quantile(0.25) # 1사분위수 Q3** = data.**quantile(0.75) # 3사분위수** IQR = Q3-Q1 #IQR U = Q3 + (IQR*1.5) # 상한선 울타리 L = Q1 - (IQR*1.5) # 하한선 울타리
import pandas as pd data.std() #표준편차 구하기
- 올림 → np.ceil() , 내림 → np.floor(), 버림 → np.trunc()
import pandas as pd import numpy as np np.ceil(data) #올림 np.floor(data) #내림 np.trunc(data) #버림 #내림과 버림의 차이 #data= -5.5 라면 내림을 한다면 -6, 버림을 한다면 -5값으로 return됨
import pandas as pd data.cumsum() # 누적합 구하기
- 결측치 확인 → data.isnull().sum()
import panas as pd data.isnull().sum() #각 열에 대해 결측치수 구하기
- 특정 컬럼의 결측치가 존재하는 행 제거 → data = data.loc[~data['column'].isnull()]
import pandas as pd data = data.loc[~data['column'].isnull()] #결측치가 있는 행 제거
- 뒤에 나오는 값으로 결측치 처리 → data.fillna(method = ‘bfill’)
import pandas as pd data = data.fillna(method='bfill') #결측치를 밑의 행에 있는 값으로 채움
- 중복제거 → data.drop_duplicates()
import pandas as pd data.drop_duplicates() #중복제거
- 열 삭제 → data.drop([colunm1,colunm2,colunm3,….] , axis=1]
import pandas as pd data.drop([colunm1,colunm2,colunm3,….] , axis=1] # 열 삭제
- 값 바꾸기 → data.str.replace(” “,””)
import pandas as pd data.str.replace(" ","") #공백없애기
- E로 시작하는 행 → data.str.startswith(”E”)
import pandas as pd data.loc[data.str.startswith('E')] #E로 시작하는 행 추출
- E를 포함하는 행 → data.str.contains(’라떼’)
import pandas as pd data.loc[data.str.contains('E')] #E를 포함하는 행 추출
- 인덱스 초기화 → data.reset_index(drop=True or False)
import pandas as pd data.reset_index(drop=True or False)
- 데이터 병합 → pd.merge(data1 , data2 , how=’left’ , on=’column’)
import pandas as pd pd.merge(data1 ,data2, how='left', on='column') #left join
- 구간 나누기(binning) → pd.qcut(data, q=나눌숫자, labels=[’A’ , ’B’ , ’C’, ….])
import pandas as pd #데이터를 q개로 나눔(비율같게) pd.qcut(data, q = 나눌숫자 , labels=['A','B','C', ...])
import pandas as pd data.skew() # 왜도값 구하기 # 왜도가 0이면 평균==중강값 , 음수→ 왼쪽 꼬리가 길다. , 양수 → 오른쪽 꼬리가 길다.
import pandas as pd data.kurt() # 첨도값 구하기 # 첨도가 3에 가까우면 정규분포, 3보다 작으면 꼬리가 앏다, 3보다 크면 꼬리가 두껍다
import pandas as pd import numpy as np np.log1p(data) # 로그변환
import pandas as pd data.corr() #상관관계 구하기
- 열의 타입을 날짜 형태로 바꾸기 → pd.to_datetime(data , format=’ ’)
import pandas as pd pd.to_datetime(data, format='')
- 타입이 날짜인 열은 연도, 달, 일로 바꾸기 → data.dt.year or month or day
import pandas as pd data = pd.to_datetime(data, format='') data.dt.year #연도만 출력 data.dt.month #달만 출력 data.dt.day #일만 출력
- 요일 → data.dt.weekday (0:월, ….. ,6:일)
import pandas as pd data = pd.to_datetime(data, format='') data.dt.weekday #요일 출력 (0:월, ... , 6:일)
import pandas as pd df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date',inplace=True) df1 = **df.resample('W')**.sum() df1
import pandas as pd data.shift(n) #data값을 n행씩 내리기 1번째 부터 n까지의 값은 결측치가 됨
from sklearn.preprocessing import StandardScaler #표준화 scaler = StandardScaler() data = scaler.fit_transform(data) #표준화
from sklearn.preprocessing import MinMaxScaler #최대최소 스케일링 scaler = MinMaxScaler() data = scaler.fit_transform(data) #최대최소 스케일링
참고 영상
https://youtu.be/AHTgNM2joZI