본문 바로가기

전체 글

(35)
데이터 탐색 실습 데이터 불러오기from google.colab import drivedrive.mount('/content/drive')import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습 데이터 중비~데이터프레임 살펴보기데이터 타입 변환df.info()Pclass는 숫자형 int 이지만, 범주형 변수 이므로(1등급, 2등급, 3등급) astype 함수를 사용하여 변수 타입을 변환데이터['컬럼명'] = 데이터['컬럼명'].astype(변환할타입)str: 문자열형int: 정수형float: 실수형bo..
탐색적 데이터 분석 EDA: Exploratory Data Analysis 수집한 데이터가 들어옸을 때, 다양한 방법을 통해서 자료를 관찰하고 이해하는 과정본격적인 데이터 분석 전, 직관적인 방법으로 자료를 통찰하는 과정EDA 정의다양한 방법(요약정보, 기초통계, 시각화 등)을 통해 자료를 관찰하고 이해하는 과정데이터의 분포 및 값 검토를 통해 데이터가 표현하는 현상 이해데이터 분석 진행 전 해당 데이터의 탐색과 이해를 위한 전반적인 사전 탐색EDA 필요성데이터가 표현하는 현상 이해, 내재된 잠재적 문제에 대해 인식 및 해결안 도출 가능문제 정의 단계에서 인지 못한 새로운 양상, 패턴 발견 가능EDA 과정 및 절차분석 목적과 변수 확인: 개별 변수의 이름,특성 확인데이터의 문제성 확인: 결측치/이상치 유무, 분포상의 이상형태 확인데이터의 개별 속성값 분포 확인: 기초통계량을 통..
데이터 구조 변경: stack, unstack, melt stack, unstackstack: 컬럼을 인덱스로 unstack: 인덱스를 컬럼으로 (stack의 반대)from google.colab import drivedrive.mount('/content/drive')import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습데이터 중비pivot = pd.pivot_table(df, index=['Sex','Pclass'], values = ['Survived','Fare'], aggfunc = ['mean','median','sum'])pivot.stack(0)첫번째 레벨(0)의 컬럼을 인덱스로 바꿈(위에서부터 레벨 0 ) p..
피벗테이블 데이터를 행과 열로 그룹화하여 (=crosstab) 요약통계를 계산!pd.pivot_table(데이터명, index = '행 기준', columns = '열 기준', values='값에 적용될 컬럼', aggfunc = '집계함수')from google.colab import drivedrive.mount('/content/drive')import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path) 실습데이터 준비단일인덱스, 단일 컬럼, 단일 값 피벗테이블pd.pivot_table(df, index='Sex', columns = 'Pclass', values='Survived', ..
crosstab 범주형 데이터 비교분석 시 유용pd.crosstab(index = '행 기준', columns = '열 기준', margins=True(합 표시)/False, normalize='합기준')행과 열 기준을 지정하여 교차표를 만들고, 각 기준에 해당하는 데이터의 갯수를 센다 (+비율까지)from google.colab import drivedrive.mount('/content/drive')import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습데이터 준비준비범주별 갯수 구하기pd.crosstab('행 기준이 될 컬럼', '열 기준이 될 컬럼')pd.crosstab(df['..
groupby 같은 값을 한 그룹으로 묶어서 여러가지 연산 및 통계량 구하기데이터.groupby('컬럼명').연산및통계함수()from google.colab import drivedrive.mount('/content/drive')import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습 데이터 중비~df.groupby('Pclass').count()Pclass값을 기준으로 나눈 그룹 별 null이 아닌 행의 갯수df.groupby('Pclass').nunique()Pclass값을 기준으로 나눈 그룹 별 유니크한 행의 갯수ex) Survived는 0또는 1로 이루어져 있기 때문에 유니크..
데이터 분포와 통계량 from google.colab import drivedrive.mount('/content/drive')]import pandas as pdfile_path = '/content/drive/MyDrive/data/titanic_train.csv'df = pd.read_csv(file_path)실습 데이터 중비.분포 및 요약 통계describe(): 컬럼별 값의 갯수, 평균, 표준편차, 최솟값, 최댓값, 사분위수를 보여줌df.describe()숫자형으로된 컬럼들의 갯수, 평균, 표준편차, 최솟값, 사분위수, 최댓값 대푯값min(): 최솟값max(): 최댓값mean(): 평균median(): 중간값std(): 표준편차var(): 분산quantile(): 분위수df.min(numerice_only = Tru..
데이터 결합 두 개의 데이터를 특정 컬럼을 기준으로 결함결합 방법pd.merge(데이터1, 데이터2, on='기준 컬럼', how = '결합방법') import pandas as pdcustomer = pd.DataFrame({'id': [i for i in range(1,7)], 'name' : ['민준', '서연', '서준', '도현', '지윤', '채원'] 'age' : [15,30,40,20,23,31]})orders = pd.DataFrame({'id' : [1,1,2,3,3,4,5,7,7,7], 'item' : ['사과','체리','바나나','사과','바나나','바나나','체리','사과','체리','바나나'], ..