반응형
SMALL

Python 31

[Python] 데이터 프레임(Data Frame) 심화_5

이번 학습은 엑셀(Excel)에서 사용하는 피벗(pivot) 테이블과 비슷한 기능을 처리하는 방법입니다 import pandas import seaborn def max_min(x) : return x.max() - x.min() def z_score(x) : return (x - x.mean()) / x.std() pandas.set_option('display.max_columns', 10) pandas.set_option('display.max_colwidth', 20) titanic_data = seaborn.load_dataset('titanic') pivot = pandas.pivot_table(titanic_data, # 피벗할 데이터프레임 index = 'class', # 행 위치에 들어갈..

Python 2019.10.19

[Python] 데이터 프레임(Data Frame) 심화_4

지난 학습에 이어 이번 학습 주제는 데이터를 집계, 변환, 필터링하는데 효율적인 그룹 연산입니다 그룹 연산은 데이터를 특정 조건에 의해 분할(split)하고 집계, 변환, 필터링에 필요한 메서드를 적용(apply)하여 그 결과를 결합(combine)하는 3단계의 과정으로 이루어집니다 또한, 여러 개의 열을 기준으로 그룹화할 수 있도록? 멀티 인덱스(MultiIndex)를 지원합니다 ...더보기 ※ 판다스(Pandas) 기본 집계(aggregation) 함수(Function) mean(), max(), min(), sum(), count(), size(), var(), std(), describe(), info(), first(), last() 등 import pandas import seaborn def..

Python 2019.10.18

[Python] 데이터 프레임(Data Frame) 심화_3

이번 학습 주제는 데이터 프레임(Data Frame)을 다양하게 합치는 방법입니다 import pandas # Create Sample Data sample1 = pandas.DataFrame({'a' : ['a0', 'a1', 'a2', 'a3'], 'b' : ['b0', 'b1', 'b2', 'b3'], 'c' : ['c0', 'c1', 'c2', 'c3']}, index=[0, 1, 2, 3]) sample2 = pandas.DataFrame({'a' : ['a2', 'a3', 'a4', 'a5'], 'b' : ['b2', 'b3', 'b4', 'b5'], 'c' : ['c2', 'c3', 'c4', 'c5'], 'd' : ['d2', 'd3', 'd4', 'd5']}, index=[2, 3, 4,..

Python 2019.10.16

[Python] 데이터 프레임(Data Frame) 심화_2

정말 오랜만에 다시 파이썬(Python) 학습을 시작하겠습니다 오늘의 주제는 데이터 프레임(Data Frame)의 열 순서를 변경하거나 분리하고 필터링 하는 방법입니다 뭐 주제만 들어도 어떤 내용인지 짐작이 가기 때문에 부연 설명을 적을 필요는 없을 것 같네요-_- import seaborn import pandas titanic_data = seaborn.load_dataset('titanic') print(titanic_data.head(), end = '\n') # 디스플레이 설정 변경 pandas.set_option('display.max_columns', 5) # 출력할 열의 개수 # 열 이름 리스트 생성 all_columns = list(titanic_data.columns.values) pr..

Python 2019.10.16

[Python] 데이터 프레임(Data Frame) 심화_1

이번 학습 주제는 함수 매핑(Function Mapping)입니다 함수 매핑은 시리즈(Series) 또는 데이터 프레임(Data Frame)의 개별 원소를 특정 함수(lambda 포함)에 일대일 대응시키는 것을 말합니다 import seaborn def add_ten(n) : return n + 10 def add_value(x, y) : return x + y def valid_value(x) : return x.notnull() def valid_count(x) : return valid_value(x).sum() def total_valid_count(x) : return valid_count(x).sum() titanic_data = seaborn.load_dataset('titanic') # 시..

Python 2019.10.11

[Python] 데이터 사전 처리(Preprocessing)_4

이번 학습 주제도 저번 시간에 이어 데이터 사전 처리(Preprocessing)에 관한 것입니다 그 중에서도 정규화(Normalization)와 시계열 데이터(time series)에 관해 학습하겠습니다 먼저 정규화(Normalization)에 대해 알아보겠습니다 분석하려는 데이터의 어떤 두 열 A, B가 각각 A 열의 데이터는 0~ 10000, B 열의 데이터는 0~1의 범위를 갖는다고 가정하겠습니다 이 때 두 개의 열에 대해서 그래프를 그린다고하면 범위가 더 큰 A 열에 의해 그래프가 더 영향도가 높을 것입니다 이런 차이를 제거하고 분석의 신뢰도를 높이기 위해 데이터를 동일한 크기 기준으로 나눈 비율로 나타내는 방법을 사용하는데 이를 정규화(Normalization)라고 하고 이 과정을 거친 데이터의..

Python 2019.10.10

[Python] 데이터 사전 처리(Preprocessing)_3

데이터 사전 처리(Preprocessing) 세번째 시간입니다-_- 이번에는 범주형(Category) 데이터를 처리하는 방법을 학습해보겠습니다 우리가 수집하는 데이터 중에 가격, 비용, 효율 등 연속적인 값을 가지는 데이터가 있습니다 때로는 이런 데이터를 그대로 사용하기 보다는 일정한 수준이나 정도를 나타내는 이산 값으로 구간(bin)을 생성해 그 차이를 드러낼 필요가 있을 수 있습니다 이런 과정을 구간분할(binning)이라고합니다 또한 구간분할을 통해 범주형(Category) 데이터로 변환하여도 컴퓨터가 인식할 수 있도록 변환해주어야합니다 컴퓨터는 계산만 빠르게할 수 있다는-_- 이번 학습은 바로 이런 과정을 익히는 것입니다 # 판다스(Pandas) import pandas import numpy f..

Python 2019.10.07

[Python] 데이터 사전 처리(Preprocessing)_2

오늘은 데이터 사전 처리(Preprocessing)에 대한 학습 두번째 시간입니다-_- 지난 번에 데이터셋의 누락 데이터, 중복 데이터를 처리하는 방법을 익혀보았습니다 이번에는 데이터의 일관성을 맞추기 위해 데이터를 표준화하는 방법을 익혀보겠습니다 데이터의 일관성을 맞춘다는 의미를 간단하게 설명하기 위해서 한 데이터셋에 길이 데이터가 있다고 가정해보겠습니다 그런데 이 길이 데이터의 수치가 어떤 것은 마일(mile)로 계산되었고 어떤 것은 미터(meter)로 계산되었다면? 이 데이터를 분석했을 때 정확도가 분명히 떨어질 것입니다 그래서 데이터를 분석하고자 할 때 데이터의 표준화는 필요합니다 그럼 오늘도 코드를 작성해보면서 학습해보겠습니다-_- # 판다스(Pandas) import pandas filepat..

Python 2019.10.07

[Python] 데이터 사전 처리(Preprocessing)_1

지금까지 파이썬(Python)의 판다스(Pandas), 맷플롯립(Matplotlib), 씨본(Seaborn), 폴리엄(Folium) 라이브러리(Library)를 통해 여러 데이터를 다양한 방법으로 출력해보면서 본래 이 학습의 목적인 데이터 분석을 위한 아주 미미한-_- 준비를 해보았습니다 그런데 머신러닝 등 데이터 분석의 정확도는 분석 데이터의 품질에 의해 좌우됩니다 일전 학습에서도 일부 데이터의 누락(NaN)으로 오류가 발생한다던지 결과가 잘못나온다던지 하는 현상이 있었습니다-_- 데이터 품질을 높이기 위해서는 누락된 데이터, 중복 데이터 등 오류를 수정하고 분석하려는 목적에 맞게 데이터를 가공해야합니다 먼저 누락 데이터를 처리하는 법을 학습해보도록 하겠습니다 import seaborn as sb ti..

Python 2019.10.01

[Python] 폴리엄(Folium) 라이브러리(Library)

오늘은 조금 흥미로운 폴리엄(Folium) 라이브러리를 이용해보도록 하겠습니다 폴리엄(Folium) 라이브러리는 지도 위에 시각화를 할 수 있는 라이브러리입니다 폴리엄(Folium) 라이브러리는 기본 설치가 안되있어서 따로 설치가 필요하네요-_- ※ 설치 방법 맥(MAC) OS : 터미널 → conda install -c conda-forge folium 입력 → y 입력 → 아나콘다 재기동 그런데 폴리엄(Folium)은 웹(Web) 기반 지도를 생성하여 여태해왔던 스파이더(Spyder) 같은 IDE로는 출력 결과를 볼 수 없습니다 그렇기 때문에 save() 메소드(Method)를 이용해 HTML 파일을 만들어서 확인하거나 웹(Web) 기반 IDE(Jupyter Notebook 등)를 이용해야합니다 # ..

Python 2019.09.30
반응형
LIST