본문 바로가기

반응형

데이터 분석 학습

(45)
6장 자유자재로 데이터 가공하기 (6) 6-7 데이터 합치기 데이터를 합치는 방법 : 가로로 합치기, 세로로 합치기 가로로 합치기 1. pd.merge()에 결합할 데이터 프레임명 나열 2. 오른쪽에 입력한 데이터 프레임을 왼쪽 데이터 프레임에 결합하도록 how = 'left'를 입력 3. 데이터를 합칠 때 기준으로 삼을 변수명을 on에 입력 # 중간고사 데이터 만들기 test1 = pd.DataFrame({'id' : [1, 2, 3, 4, 5], 'midterm' : [60, 80, 70, 90, 85]}) # 기말고사 데이터 만들기 test2 = pd.DataFrame({'id' : [1, 2, 3, 4, 5], 'final' : [70, 83, 65, 95, 80]}) test1 test2 total = pd.merge(test1, t..
6장 자유자재로 데이터 가공하기 (5) 6-6 집단별로 요약하기 '집단별 평균'이나 '집단별 빈도'처럼 각 집단을 요약한 값을 구할 때는 df.groupby(), df.agg()를 사용 집단별로 요약하기 전체 요약 통계량 구하기 exam.agg(mean_math = ('math', 'mean')) 집단별 요약 통계량 구하기 exam.groupby('nclass').agg(mean_math = ('math', 'mean')) ※ 변수를 인덱스로 바꾸지 않기 exam.groupby('nclass', as_index = False).agg(mean_math = ('math', 'mean')) agg()에 자주 사용하는 요약 통계량 함수 ※ 모든 변수의 요약 통계량 한 번에 구하기 exam.groupby('nclass').mean() mpg.quer..
6장 자유자재로 데이터 가공하기 (4) 6-4 순서대로 정렬하기 df.sort_values() 이용 오름차순으로 정렬하기 exam.sort_values('math') 내림차순으로 정렬하기 exam.sort_values('math', ascending = False) 여러 정렬 기준 적용하기 exam.sort_values(['nclass', 'math']) exam.sort_values(['nclass', 'math'], ascending = [True, False]) 혼자서 해보기 - mpg 데이터를 이용해 분석 문제를 해결해 보세요 Q1 'audi'에서 생산한 자동차 중에 어떤 자동차 모델의 hwy(고속도로 연비)가 높은지 알아보려고 합니다. 'audi'에서 생산한 자동차 중 hwy가 1~5위에 해당하는 자동차의 데이터를 출력하세요 mpg...
6장 자유자재로 데이터 가공하기 (3) 6-3 필요한 변수만 추출하기 변수 추출하기 데이터 프레임명 뒤에 []를 입력한 다음 추출한 변수명을 따옴표로 감싸서 입력 exam['math'] """ 0 50 1 60 2 45 3 30 4 25 5 50 6 80 7 90 8 20 9 50 10 65 11 45 12 46 13 48 14 75 15 58 16 65 17 80 18 89 19 78 Name: math, dtype: int64 """ exam['english'] """ 0 98 1 97 2 86 3 98 4 80 5 89 6 90 7 78 8 98 9 98 10 65 11 85 12 98 13 87 14 56 15 98 16 68 17 78 18 68 19 83 Name: english, dtype: int64 """ exam[['ncla..
6장 자유자재로 데이터 가공하기 (2) 6-2 조건에 맞는 데이터만 추출하기 여러 조건 중 하나 이상 충족하는 행 추출 # 수학 점수가 90점 이상이거나 영어 점수가 90점 이상인 경우 exam.query('math >= 90 or english >= 90') #영어 점수가 90점 미만이거나 과학 점수가 50점 미만인 경우 exam.query('english < 90 | science < 50') 목록에 해당하는 행 추출하기 # 1,3,5반에 해당하면 추출 exam.query('nclass == 1 or nclass == 3 or nclass == 5') exam.query('nclass in [1,3,5]') 추출한 행으로 데이터 만들기 # nclass가 1인 행 추출해 nclass1에 할당 nclass1 = exam.query('nclas..
6장 자유자재로 데이터 가공하기 (1) 6-1 데이터 전처리-원하는 형태로 데이터 가공하기 데이터 전처리 (data preprocessing) : 분석에 적합하게 데이터를 가공하는 작업 일부를 추출하거나, 종류별로 나누거나, 여러 데이터를 합치는 등 데이터를 자유롭게 가공할 수 있어야 목적에 맞게 사용 가능 데이터 가공, 데이터 핸들링, 데이터 랭글링, 데이터 먼징이 비슷한 의미로 사용 pandas를 이용해 데이터를 가공하는 방법 6-2 조건에 맞는 데이터만 추출하기 pandas의 df.query()를 사용하면 원하는 데이터를 추출 가능 조건에 맞는 데이터만 추출하기 import pandas as pd exam = pd.read_csv('exam.csv') exam #exam에서 nclass가 1인 경우만 exam.query('nclass =..
5장 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기 (3) 정리하기 # 1. 패키지 로드 import pandas as pd import numpy as np # 2. 데이터 불러오기 mpg = pd.read_csv('mpg.csv') # 3. 데이터 파악하기 mpg.head() # 데이터 앞부분 mpg.tail() # 데이터 뒷부분 mpg.shape # 행, 열 수 mpg.info() # 속성 mpg.describe() # 요약 통계량 # 4. 변수명 바꾸기 mpg = mpg.rename(columns = {'manufacturer' : 'company'}) # 5. 파생변수 만들기 mpg['total'] = (mpg['cty'] + mpg['hwy'])/2 # 변수 조합 mpg['test'] = np.where(mpg['total'] >= 20, 'pass'..
5장 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기 (2) 5-2 변수명 바꾸기 변수명 바꾸기 1. 데이터 프레임 만들기 df_raw = pd.DataFrame({'var1' : [1,2,1], 'var2' : [2,3,2]}) df_raw 2. 데이터 프레임 복사본 만들기 df_new = df_raw.copy() df_new 3. 변수명 바꾸기 df_new = df_new.rename(columns = {'var2':'v2'}) df_new 혼자서 해보기 Q1 mpg 데이터를 불러와 복사본 만들기 mpg = pd.read_csv('mpg.csv') mpg_copy = mpg.copy() mpg_copy Q2 복사본 데이터를 이용해 cty는 city로, hwy는 highway로 수정 mpg_copy = mpg_copy.rename(columns = {'cty' ..
5장 데이터 분석 기초! - 데이터 파악하기, 다루기 쉽게 수정하기 (1) 5-1 데이터 파악하기 데이터를 파악할 때 사용하는 명령어 head() : 앞부분 출력 tail() : 뒷부분 출력 shape : 행, 열 개수 출력 info() : 변수 속성 출력 describe() : 요약 통계량 출력 exam 데이터 파악하기 import pandas as pd exam = pd.read_csv('exam.csv') exam.head() exam.head(10) exam.tail() exam.tail(10) exam.shape ##출력: (20, 5) exam.info() """ RangeIndex: 20 entries, 0 to 19 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ ----------..
4장 데이터 프레임의 세계로 (2) 4-3 외부 데이터 이용하기 - 축적된 시험 성적 데이터를 불러오자 엑셀 파일 불러오기 1. 엑셀 파일 살펴보기 (execl_exam.xlsx 파일) https://github.com/youngwoos/Doit_Python/blob/main/Data/excel_exam.xlsx 2. 워킹 디렉터리에 엑셀 파일 삽입 3. 엑셀 파일 불러오기 df_exam = pd.read_excel('excel_exam.xlsx') df_exam 4. 분석하기 sum(df_exam['english']) / 20 ##출력: 84.9 sum(df_exam['science'])/20 ##출력: 59.45 엑셀 파일의 첫 번째 행이 변수명이 아니면 header = None 사용 df_exam_nover = pd.read_exce..

반응형