본문 바로가기

빅데이터분석기사_실기/기초

(17)
데이터 구조 변경: 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' : ['사과','체리','바나나','사과','바나나','바나나','체리','사과','체리','바나나'], ..
데이터가공: apply, map, 문자열 다루기 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)실습에 필요한 데이터 파일을 준비해보아요 apply 함수사용자 정의 함수를 데이터에 적용하고 싶을 때 사용.apply(함수이름, axis = 0/1)def pclass_sibsp(x): if x['Pclass'] == 1 and x['SibSp'] == 1: return 1 else: return 0 df1 = df.copy()df1['pclass_sibsp_filter'] = df1..
날짜 데이터 import pandas as pdfile_path = '/content/drive/MyDrive/data/temperatures.csv'data = pd.read_csv(file_path)df = data.copy()#실습데이터를 준비해보아용~df.info()​But~ Date 컬럼의 데이터타입이 날짜형이 아닌 문자열임을 확인할 수 있당! 문자형을 날짜형으로 변경하기날짜 계산을 위해 날짜형으로 변경pd.to_datetime(데이터변수['컬럼명'], format = '날짜형식'날짜형식%Y: 4자리 연도%y: 2자리 연도%m: 월%d: 일%H: 시간%M: 분%S: 초df['Date1'] = pd.to_datetime(df['Date'], format = '%Y-%m-%d')​df의 Date 컬럼을 날짜형 ..