알고리즘의 늪
알고리즘을 회피할 수 있는 방법 중 하나가 Library로,
라이브러리란 "우리가 자주 쓰는 함수들을 모아놓은 묶음"
Library 호출하기
# import pandas as pd # 해석 : pandas라는 라이브러리(모듈)을 호출하고 그 이름을 pd로 줄여서 부르겠다. ` # from matplotlib.pyplot as plt # 해석 : matplotlib의 pyplot 함수만 가져오고 이름은 plt로 줄여서 부르겠다.
데이터 프레임이란?
통계와 머신러닝 모델에서 가장 기본이 되는 테이블 형태의 데이터 구조
기본적으로 행과 열로 구성된 이차원 행렬
Python 및 R에서 사용하는 특정 데이터 포맷
그 외 주요 Library 소개
# pandas 라이브러리를 활용한 csv 파일 읽기 df = pd.read_csv("xxxx.csv") ` # 테이블 확인하기 display(df, df2, df3) ` # 처음 5 줄만 출력하기 df2.head() ` # 마지막 5 줄만 출력하기 df2.tail() ` # 각 테이블의 행(가로) 길이 파악하기 len(df) ` # shape: 테이블의 행과 열의 갯수를 반환 df.shape ` # dtypes: 테이블 내 컬럼타입(문자형, 숫자형, 배열 등) 확인 df.dtypes ` # columns: 테이블 내 컬럼 확인 df.columns ` # values: 테이블 내 각 행들을 배열 형태로 확인 df.values ` # 테이블 기본 구조 한눈에 확인하기 df.info() ` # 전체 행 갯수, 평균, 표준편차, 최솟값, 사분위수, 최댓값 확인 df2.describe() ` #컬럼별로 결측치(데이터가 없는) 확인하기 df.isnull().sum() ` # 특정 컬럼 1개 가져오기 #방법1: 속성. 사용 df.Category ` #방법2: [] 연산자 사용 df['Category'] ` #방법3: iloc 사용 # : 은 모든 행을 가져오겠다는 의미이며 dataframe 의 인덱스 번호 4번(카테고리)컬럼을 가져오겠다는 희미 df.iloc[:,4] ` # 특정 컬럼 여러개 가져오기 #방법1: [[]] 연산자 사용 # []를 하나 사용하면 결과값이 series 형태로 반환되어 key error 가발생되며, [[]] 는 dataframe 으로 반환되어 에러가 나지 않습니다. df[['Category','Selling Price']] ` #방법2: iloc 사용 # : 은 모든 행을 가져오겠다는 의미이며 dataframe 의 인덱스 번호 4번,7번 컬럼을 가져오겠다는 희미 df.iloc[:,[4,7]] ` # 특정 컬럼 버리기 # axis=0 은 인덱스 기준, 1은 컬럼 기준 삭제를 의미 # inplace=True 는 원본을 변경하겠다는 의미, False 의 경우 원본테이블은 변경되지 않음 df3.drop('Interaction type', axis=1, inplace=True) ` # 조건에 부합하는 데이터 가져오기1 # 조건에 만족하는 행은 정상출력 ,아닌 행은 NaN 으로 반환 df2.where(df2['Age']>50) ` # 조건에 부합하는 데이터 가져오기2 # true, false의 개념이 아닌 조건에 부합하는 데이터만 슬라이싱하여 가져오고 싶을 때 # mask 메서드로 불립니다. 이름은 반드시 mask 일 필요가 없습니다. mask = ((df2['Age']>50) & (df2['Gender']=='Male')) df2[mask] ` # 데이터 그루핑- 기준 1개 df2.groupby('Gender')['Customer ID'].count() ` # 데이터 그루핑- 기준 여러개 df2.groupby(['Gender','Location'])['Customer ID'].count() ` # 데이터 count 와 nunique(distinct, 중복제거) 차이 df2.groupby('Location')['Age'].count() df2.groupby('Location')['Age'].nunique()