KT AIVLE SCHOOL 복습 14

KT AIVLE DX #3 - 데이터 분석(4) 이변량 분석2)

3. 범주 → 범주1) 교차표 작성가장 먼저 실행해야 할 것은 교차표 작성이다.교차표는 crosstab함수로 가능하다!pd.crosstab(행, 열, normalize='columns | index | all') → columns = 열기준 | index = 행기준 | all = 전체 기준 2) 시각화 a. 모자이크 플롯(mosaic plot)mosaic plot은 범주별 양과 비율을 그래프로 나타내 준다.mosaic(df, [행, 열])x축 길이는 각 객실등급별 승객비율 그 중 3등급 객실을 보면, y축 길이는 3등급 객실 승객 중 사망/생존 비율 각각의 면적은 전체에서 그 칸이 차지하는 비율빨간선은 생존에 관한 전체 평균을 의미함 많이 떨어질수록 더 의미가 있다(?)두 범주형 변수가 아무런 상관이 없..

KT AIVLE DX #3 - 데이터 분석(3) 이변량 분석1) 두 변수의 관계 분석

1. 숫자 → 숫자1) 그래프a. 산점도sns.scatterplot(x = , y = , data = )sns.pairplot(df) → 숫자형 변수들에 대한 산점도를 한꺼번에 2) 수치화 : 상관계수, P-valuea. 상관계수 직선의 상관관계를 나타내는 값-1, 1에 가까울 수록 강한 상관관계를 나타내게 됨.b. P-value : 우연히 사건이 발생할 확률관계를 수치화 한 값이 유의미한 지 판단하는 숫자< 0.05(5%)이면, 두변수 간에 관계가 있다.(상관관계가 의미가 있다.)c. 수치화 방법spst.pearsonr(x, y)df.corr() 3) 상관계수와 P-value의 한계상관계수는 직선의 관계만 수치화P-value는 1) 데이터가 많아질수록 값이 작아지기 때문에 많은 표본 집단을 활용해서 P..

KT AIVLE DX #3 - 데이터 분석(2) 단변량 분석

단변량 분석 요약 1. 숫자형 변수1) 수치화a. 대푯값 나타내기 평균 df.mean() → 평균을 대푯값으로 사용할 때에는 평균의 함정을 조심해야 한다.중위수(중앙값) df.median()최빈값 df.mode()4분위수 → 1사분위수 df['column'].describe()['25%'] → 2사분위수 df['column'].describe()['50%'] → 3사분위수 df['column'].describe()['75%'] b. 기초통계량 계산하기df[’column’].describe() → 시리즈로 기초통계량 제공df[[’column’]].describe() → 리스트 형태로 불러오게 되면 데이터 프레임으로 기초통계량 제공.T 를 사용하게 되면 전치된 결과가 불러져온다df.describe() → 데..

KT AIVLE DX #3 - 데이터 분석(1) 시각화 라이브러리

1. 라이브러리 준비import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns %config InlineBackend.figure_format = 'retina' 2. 기본차트 그리기1) 차트 그리기plt. plot(1차원 값) : 라인차트가 그려진다. → x축 : 인덱스 → y축 : 1차원 값2) x축과 y축의 값 지정하기plt.plot(x축, y축) plt.plot(x축, y축, data=df) 3. 차트 꾸미기1) x축, y축 이름, 타이틀 붙이기plt.plot(x, y) plt.xticks(rotation = 30) # x축 label 방향을 30도 틀기 plt.xlabel('x축') plt..

KT AIVLE DX #2 - 데이터 다듬기(4) 데이터프레임 변경

1. 열 변경 1) 열 이름 변경 rename() 메소드를 사용해 변경 전 후의 열 이름을 딕셔너리 형태로 나열하는 방법 → inplace=True 를 주어야 실제 반영 df.rename(columns={'A': 'B', 'C': 'D', inplace=True) 모든 열 이름을 변경할 때는 columns 속성을 변경 → 변경이 필요 없는 열은 기존 이름을 부여해야 함! # 기존 열 이름 : ['A', 'B', 'C'] # 변경하고자 하는 이름 : ['A', 'D', 'E'] df.columns = ['A', 'D', 'E'] 2) 열 추가 새로운 열을 추가하여 기존 데이터에서 계산된 결괏값을 저장하는 경우 df['new'] = df['A'] + df['B'] insert() 메소드를 사용해 원하는 위치..

KT AIVLE DX #2 - 데이터 다듬기(3) 데이터프레임 탐색, 조회, 집계

1. 테이터프레임 탐색 데이터프레임의 기본 정보를 탐색하는 것 데이터의 크기, 내용, 분포, 누락된 값(결측치) 등을 확인 확인된 내용을 통해 데이터 전처리 필요 여부를 결정 데이터 확인에 사용되는 주요 메소드 head(x) : x개 만큼의 상위 데이터 확인 (기본값 = 5) tail(x) : x개 만큼의 하위 데이터 확인 (기본값 = 5) shape : 데이터프레임 크기 index : 인덱스 정보 확인 values : 값 정보 확인 columns : 열 정보 확인 dtypes : 열 자료형 확인 info() : 열에 대한 상세한 정보 확인 → (열이름, 해당열 개수, 데이터 타입, 전체 행 개수 등) describe() : 기초통계정보 확인 ※describe()를 이용해 사분위수를 뽑아내는 법! # 특..

KT AIVLE DX #2 - 데이터 다듬기(2) 데이터프레임 생성

1. 데이터프레임 이해 1) 데이터프레임이란 pandas 사용 목적이 데이터 프레임을 사용하기 위한 목적으로 봐도 무관 데이터를 처리, 조회 분석하는 가장 효율적인 방법 테이블, 엑셀 형태 직접 데이터 테이블을 만들 수 있으나, 보통 csv파일, 엑셀 파일, DB에서 읽어옴 2) 데이터프레임 형태 데이터 프레임은 인덱스(행 이름)와 열 이름이 있고 없고에 따라 다른 형태 인덱스란 특정 행을 조회할 때, 열 이름은 특정 열을 조회할 때 사용 a. 인덱스와 열 이름이 없는 형태 (실무에서는 자주 볼 수 없음) b. 열 이름을 지정한 형태(가장 자주 보는 형태) c. 인덱스와 열 이름을 지정한 형태 2. 데이터프레임 직접 만들기 대부분 리스트, 딕셔너리, Numpy 배열로 데이터프레임을 만듦 pd.DataFr..

KT AIVLE DX #2 - 데이터 다듬기(1) 배열

→ 1, 2, 3 차원배열을 만들 수 있음 → Reshape 기능을 이용해 배열 형태를 바꿀 수 있음 → 인덱싱과 슬라이싱으로 원하는 데이터를 조회할 수 있음 → 배열 사이의 기본적인 연산을 수행할 수 있음 1. 라이브러리 불러오기 Numpy 배열을 사용하려면 numpy 라이브러리를 불러와야 함 import numpy as np 2. 배열만들기 1) 용어 정의 axis : 배열의 각 축 rank : 축의 개수 shape : 축의 길이, 배열의 크기 2) 배열 만들기 np.array() 함수를 사용해서 배열을 만든다 대부분 리스트로 부터 만들거나, 머신러닝 관련 함수 결과값이 배열이 됨 # 1차원 리스트 a1 = [1, 2, 3, 4, 5] b1 = np.array(a1) print(b1) # [1 2 3..

KT AIVLE DX #1 - 데이터 다루기(6) 함수

함수는 입력을 받아 무엇인가를 처리하거나 어떤 결과를 반환하는 것함수는 def 문으로 정의함수는 기본적으로 세 가지로 구성 1) 입력 : 입력 매개변수, 생략가능 2) 처리 : 코드들 3) 출력 : 처리 결과, 생략 가능 1. 입력def hello(): print('오우') a = hello() print(a) # return 값이 없어서 print를 하게 되면 None 값이 나온다 1) 입력 매개변수def hello(name): print(f'{name}님 안녕하세요? 반갑습니다!') hello('파이썬') # 파이썬님 안녕하세요? 반갑습니다!def hello(): name = input('이름은? \n') # 입력 print(f'{name}님 안녕하세요? 반갑습니다!') # 함수 사용 hello()a..

KT AIVLE DX #1 - 데이터 다루기(5) 제어문

제어문 → 조건 처리나 반복 처리를 통해 코드의 실행 흐름을 제어 → 파이썬 제어문은 들여쓰기로 블럭을 지정하니 이에 ㅈ의 1. IF문 → 가장 대표적인 제어문이 if문 → 특정 조건에 맞는 경우에만 코드를 실행하고 싶을 때 사용 1) 단순 if문 조건이 참인 경우만 처리 조건이 거짓인 경우는 아무 처리도 하지 않는다 my_score = 73 if my_score >= 80: my_score += 10 my_score # 73 2) if ~ else 문 조건이 참인 경우와 아닌 경우 각각 처리 처리할 구문이 없거나 이후에 작성할 목적으로 pass 사용 가능 my_score = 73 if my_score >= 80: print('Pass') else: print('Fail') # Fail 3) if ~ e..