본문 바로가기
자격증/빅데이터 분석기사

빅데이터 분석기사 실기 유형 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) # 하한선 울타리
  • 표준편차 → data.std()
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됨
  • 누적합 → data.cumsum()
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', ...])
  • 왜도 → data.skew()
import pandas as pd data.skew() # 왜도값 구하기 # 왜도가 0이면 평균==중강값 , 음수→ 왼쪽 꼬리가 길다. , 양수 → 오른쪽 꼬리가 길다.
  • 첨도 → data.kurt()
import pandas as pd data.kurt() # 첨도값 구하기 # 첨도가 3에 가까우면 정규분포, 3보다 작으면 꼬리가 앏다, 3보다 크면 꼬리가 두껍다
  • 로그변환 → np.log1p(data)
import pandas as pd import numpy as np np.log1p(data) # 로그변환
  • 상관관계 → data.corr()
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
  • n행씩 내리기 → data.shift(n)
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