본문 바로가기

Data_Analysis_Track_33/Python

(63)
Python_numpy_01(Numpy개요, 배열생성) 넘파이 (Numpy) http://www.numpy.org Numerical Python 벡터, 행렬 연산을 위한 수치해석용 파이썬 라이브러리 - 강력한 다차원 배열(array) 지원 - 빠른 수치 계산을 위한 structured array, 벡터화 연산, 브로드캐스팅 기법등을 통한 다차원 배열과 행렬연산에 필요한 다양한 함수를 제공한다. - 파이썬 List 보다 더 많은 데이터를 더 빠르게 처리 많은 과학 연산 라이브러리들이 Numpy를 기반으로 한다. - scipy, matplotlib, pandas, scikit-learn, statsmodels등 선형대수, 난수 생성, 푸리에 변환 기능 지원 넘파이에서 데이터 구조 스칼라 (Scalar) - 값 하나. - 0D Tensor, 0D Array (0차..
Python_matplotlib_05(Seaborn) Seaborn matplotlib을 기반으로 다양한 테마와 그래프를 제공하는 파이썬 시각화 패키지.- http://seaborn.pydata.org/ 공식 사이트의 gallary에 제공하는 다양한 그래프와 예제를 확인 할 수 있다. 설치: 아나콘다에는 포함되있다. pip install seaborn conda install seaborn 데이터셋 준비 (tips.csv) import seaborn as sns import matplotlib.pyplot as plt import pandas as pd tips = pd.read_csv('data/tips.csv') tips.shape warning이 자주 떠서 보기가 싫다면 아래 코드 실행 # warnings 무시 import warnings warnin..
Python_matplotlib_04(Pandas 시각화) 1. Pandas 시각화 - 판다스 자체적으로 matplotlib 를 기반으로 한 시각화기능을 지원한다. - Series나 DataFrame에 plot() 함수나 plot accessor를 사용한다. - https://pandas.pydata.org/pandas-docs/stable/user_guide/visualization.html 1.1. plot() kind 매개변수에 지정한 값에 따라 다양한 그래프를 그릴 수 있다. kind : 그래프 종류 지정 - 'line' : line plot (default) - 'bar' : vertical bar plot - 'barh' : horizontal bar plot - 'hist' : histogram - 'box' : boxplot - 'kde' : Ke..
Python_matplotlib_03(각종 그래프 그리기) 4. 파이차트 그리기 4.1 파이차트 각 범주(Category)가 데이터에서 차지하는 비율을 나타내는데 사용 pie(x, labels) 이용 - x: 값 (값들을 100을 기준으로 비율을 계산해 크기 설정) - labels : 값들의 label - autopct: 조각내에 표시될 비율의 문자열 형식. '%fmt문자' - fmt문자: f(실수), d(정수), %% (%) import matplotlib.pyplot as plt label = ['사과', '배', '복숭아', '귤'] amount = [20, 10, 50, 20] plt.pie(amount ,labels = label ,autopct = '%.2f%%' ,textprops = {'fontsize':10} ,explode = [0.1, 0, ..
Python_matplotlib_02(각종 그래프 그리기) 1. 선 그래프 (Line plot) 그리기 1.1 선 그래프(꺽은선 그래프) 점과 점을 선으로 연결한 그래프 시간의 흐름에 따른 변화를 표현할 때 많이 사용한다. (시계열) plot([x], y) - 1번인수 : x값(생략가능), 2번인수 y값 - 인수가 하나인 경우 y 축의 값으로 설정되고 X값은 (0 ~ len(y)-1) 범위로 지정된다. - x와 y의 원소개수는 같아야 한다. 하나의 axes(subplot)에 여러 개의 선 그리기 - 같은 axes에 plot()를 여러번 실행한다. linspace(시작, 끝, 개수) : 시작부터 끝값까지 간격이 동일한 개수를 나누어 제공한다. import matplotlib.pyplot as plt import numpy as np x = np.linspace(1..
Python_matplotlib_01(한글 설정, matplotlib 개요) 한글 설정 matplotlib에 설정되있는 폰트가 한글을 지원하지 않기 때문에 그래프의 한글이 깨져서 나온다. -> 그래서 한글을 사용하기 위해 설정을 변경해야 한다. # cache 파일 조회 # 다음 실행 결과로 나온 디렉토리 안의 파일을 삭제한다. print(mpl.get_cachedir()) 아래 코드와 같이 입력하고 실행한 뒤 설정파일 경로를 찾아 matplotlib 관련 전역 설정들을 찾아 바꿔준다. import matplotlib as mpl print(mpl.matplotlib_fname()) 경로의 matplotlibrc 파일에서 아래의 설정으로 바꿔준다. font.family:Malgun Gothic axes.unicode_minus:False matplotlib 개요 데이터 시각화 - ..
Python_Pandas_06(DataFrame 재구조화) 정돈된 데이터 (Tidy data) 개요 - 대부분 실행환경에서의 많은 데이터 셋은 세부적 분석을 작업을 하기 전에 상당한 양의 데이터 재구성을 할 필요가 있다. - 경우에 따라서는 전체 프로젝트 자체가 오로지 다른 사람들이 사용하기 쉬운 형태로 데이터를 재구성하는 일일 경우도 있다. - 데이터 재구성의 목적은 정돈된 데이터(tidy data) 를 만드는 것이다. - Tidy data란 용어는 해들리 위컴이 분석이 용이한 형태로 구성되 있는 데이터셋을 설명하기 위해 만든 용어이다. - DataFrame의 구조 변경을 위한 메소드 stack() melt() unstack() pivot() pivot_table() crosstab() 텍스트 분해를 위한 str accessor 정돈된 데이터를 다듬는 메소드 ..
Python_Pandas_05(DataFrame 합치기) 데이터프레임 합치기 : 두개 이상의 DataFrame을 합쳐 하나의 DataFrame으로 만든다. 수직결합 단순결합으로 여러개의 DataFrame들의 같은 컬럼끼리 수직으로 합친다. 수평결합 연관성 있는 여러 데이터를 하나로 합쳐서 조회하는 JOIN 처리를 한다. JOIN은 합치려는 DataFrame들의 index 나 특정 컬럼의 값이 같은 행 끼리 합친다. 데이터셋 읽기 - stocks_2016.csv, stocks_2017.csv, stocks_2018.csv : 년도별 보유 주식 - stocks_info.csv : 주식 정보 import pandas as pd pd.read_csv("data/stocks_2016.csv") pd.read_csv("data/stocks_2017.csv") pd.rea..