데이터엔지니어

데이터 분석 및 시각화/데이터 시각화

[Python] Seaborn(barplot, boxplot, violinplot)

barplot x와 hue를 카테고리화해서 body_mass_g 값의 평균과 신뢰구간(confidence intervals)을 구해서 바 플롯으로 표현하고 있습니다. df = sns.load_dataset('penguins') sns.barplot(data = df, x = 'species', y = 'body_mass_g', hue = 'sex') box plot 박스-휘스커 플롯(Box-Whisker Plot) 혹은 간단히 박스플롯이라 부릅니다. 박스 플롯은 박스와 박스 바깥의 선(whisker)으로 이루어집니다. 박스는 실수 값 분포에서 1사분위수(Q1)와 3사분위수(Q3)를 뜻합니다. 이 3사분위수와 1사분위수의 차이(Q3 - Q1)를 IQR(Interquartile range)라고 합니다. 박스..

데이터 분석 및 시각화/데이터 시각화

[Python] Seaborn(style 세팅, 카운트 플롯, 히스토그램(displot))

Seaborn이란 Seaborn은 Matplotlib을 기반으로 다양한 색상 테마와 통계용 차트 등의 기능을 추가한 시각화 패키지입니다. 기본적인 시각화 기능은 Matplotlib 패키지에 의존하며 통계 기능은 Statsmodels 패키지에 의존합니다. 테마를 활용해서 스타일 적용하기 set_theme()는 global 범위의 테마를 적용해서 그래프를 쉽게 꾸밀 수 있습니다. style과 palette 키워드 인수를 활용해서 그 값을 설정합니다. style : darkgrid, whitegrid, dark, white, ticks, ... palette : pastel, husl, Spectral, flare, ... (참고) set_context()의 인수로 paper, notebook, talk, p..

데이터 분석 및 시각화/데이터 시각화

[Python] matplotlib - 차트

바 차트(bar chart) x 데이터가 카테고리 값인 경우에는 bar 명령과 barh 명령으로 바 차트(bar chart) 시각화를 할 수 있습니다. 가로 방향으로 바 차트를 그리려면 barh 명령을 사용합니다. 바 차트 작성시 주의점은 첫번째 인수인 left 가 x축에서 바(bar)의 왼쪽 변의 위치를 나타낸다는 점입니다. import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np y = [2,3,1] x = ['가','나','다'] plt.title("Bar Chart") plt.bar(x,y) plt.xlabel('가나다') plt.ylabel('빈도 수') plt.show() 각 bar 마다 색상을 적용할 수 있습니다...

데이터 분석 및 시각화/데이터 시각화

[Python] Matplotlib - Figure, Axes, Axis, Artist

Figure Matplotlib는 data를 Figure(e.g. windows, Jupyter widgets, etc.)에 x-y 좌표의 그래프로 표시합니다(3차원은 x-y-z, 극좌표는 세타-r 등). 각각의 Figure는 하나 이상의 Axes를 갖습니다. 가장 간단하게 Figure, Axes 객체를 만드는 방법은 pyplot.subplots()을 사용하는 것입니다. 그 후 Axes.plot()를 활용하여 Axes에 데이터를 그립니다. fig, ax = plt.subplots() ax.plot([1,2,3,4], [1,4,2,3]); Figure는 전체 그림(그래프)을 의미하는 객체입니다. Figure 객체는 Axes, 특수 Artist 그룹(title, figure legends, colorbar,..

데이터 분석 및 시각화/데이터 시각화

[Python] Matplotlib - 기초(style, 범례, label)

MatPlotlib이란 Matplotlib은 파이썬에서 자료를 차트(chart)나 플롯(plot, a graph showing the relation of two variables)으로 시각화 하는 패키지입니다. Matplotlib은 다음과 같은 정형화된 차트나 플롯 이외에도 저수준 API를 활용한 다양한 시각화 기능을 제공합니다. 라인 플롯(line plot) 스캐터 프롯(scatter plot) 컨투어 플롯(contour plot) 서피스 플롯(surface plot) 바 차트(bar chart) 히스토그램(histogram) 박스 플롯(box plot) matplotlib 및 matplotlib.pyplot 임포트하기 패키지에는 pyplot이라는 서브 패키지가 존재합니다. 이 pyplot 서브 패키..

일기

데이터엔지니어링 트랙 3주차 후기

배운 것들 이번주에는 넘파이, 판다스 위주로 데이터 관련 파이썬 라이브러리를 학습했다. 메소드 위주의 강의여서 몰랐던 메소드들을 배울 때마다 진짜 재밌게 들은 것 같다. 특히 판다스 cat 메서드 들을 때는 속으로 아차 싶었다. 예전에 범주형 변수 만드려고, 함수 만들어서 데이터 변환하고 타입 변환하고,, 심지어 ordinal일 때는 어렵게 어렵게 작성했는데, 메소드 한 줄로 끝내버리는 방법이 있었다... 역시 배워야한다고 다시 생각할 수 있었다. 넘파이도 정렬 과정에서 정렬 인덱스를 바로 반환하는 메서드가 있는데, 넘파이의 메모리 저장방식을 들어보면, 데이터가 커질수록 인덱스 array를 넘파이로 관리하는게 진짜 효율적이겠구나 싶었다. 실제 프로젝트 과정에서 인덱스를 넘파이로 저장하고, 그 넘파이 ar..

코딩테스트 스터디

[백준] 큐(queue)/카드

https://www.acmicpc.net/problem/2164 리스트는 pop 사용 시 자료를 뒤로 밀면서, 메모리를 많이쓴다. 큐는 그대로 두기 때문에 효율적 -- 나중에 더 정확히 정리 import sys from collections import deque num = int(input()) list_ = [] for x in range(1, num + 1): list_.append(x) queue = deque(list_) while len(queue) > 1: queue.popleft() first_one = queue.popleft() queue.append(first_one) print(queue[0])

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Pandas_DataFrame3)

DataFrame apply() 메서드 DataFrame에 대해 Function을 적용하고 싶다면 apply()함수를 활용하면 좋습니다. 이 메서드는 첫 인자로 함수를 필수값으로 받습니다. 경우에 따라 두번째 인자로 axis를 사용할 수 있습니다. axis 인자는 0이 default입니다. axis가 0 or 'index'인 경우 각 column에 대해 함수를 적용합니다. axis가 1 or 'columns'인 경우 각 row에 대해 함수를 적용합니다. 아래의 예제에서는 Numpy의 np.sort를 사용하여 적용해보았습니다. np.sqrt는 각 요소마다 적용되는 함수(universal function, ufunc)로 이 경우에는 np.sqrt(df)와 동일한 결과를 가져옵니다..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Pandas_DataFrame2)

DataFrame 고급 인덱싱 DataFrame에서 특정한 데이터만 골라내는 것을 인덱싱이라고 합니다. 앞 절에서는 column에 대해 label, label list 인덱싱을, row에 대해 index(정수) 슬라이스 총 3가지 방식을 사용하여 데이터를 추출하는 방법을 살펴 봤습니다. 그런데 Pandas는 NumPy 배열과 같이 콤마(,)를 사용한 (row 인덱스, column 인덱스) 형식의 2차원 인덱싱을 지원하기 위해 다음과 같은 특별한 인덱서(indexer) 속성도 제공합니다. loc : label 값 기반의 2차원 인덱싱 iloc : 순서를 나타내는 정수 기반의 2차원 인덱싱 df.loc[row 인덱싱 값] df.loc[row 인덱싱 값, column 인덱싱 값]DataFrame 고급 인덱싱 ..

데이터 분석 및 시각화/파이썬

[Python] 클래스 연습문제

연습문제 기록 class Team: ### 클래스 속성 '''팀 객체를 만듭니다''' count = 0 order = [] def __init__(self, number, name = None, member = set()): ### 인스턴스 속성 self.number = number self.name = name self.__member = member Team.count += 1 Team.order.append(number) def add_member(self, name): '''팀원을 추가합니다''' # 해당 이름이 팀에 없을 경우 if name not in self.__member: self.__member.add..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Pandas_DataFrame)

DataFrame Class DataFrame은 Pandas의 주요 데이터 구조입니다. label된 row와 column, 두개의 축을 갖는 데이터 구조입니다. 산술 연산은 row와 column 모두 적용됩니다. Series 객체를 갖는 dictionary라고 생각하면 비슷합니다. 첫 인자로 data, 두 번째 인자로 index를 전달합니다. DataFrame은 각 column마다 자료형이 다를 수 있습니다. DataFrame 생성 Series가 1차원 벡터 데이터에 행방향 index(row index)를 붙인것이라면 DataFrame 클래스는 2차원 행렬 데이터에 index를 붙인 것과 형태가 비슷합니다. row와 column을 갖는 2차원이므로 각각의 행 데이터의 이름이 되는 행 index(row i..

데이터 분석 및 시각화/파이썬

[Python] 기초 정리(Pandas_Series)

Pandas(Panel Datas) 판다스는 주로 데이터 분석에 사용됩니다. 대부분의 데이터는 시계열(Series)이나 표(table)의 형태로 나타낼 수 있습니다. Pandas 패키지는 이러한 데이터를 다루기 위한 Series 클래스와 DataFrame 클래스를 제공합니다. 숫자 테이블과 시계열을 조작하기 위한 데이터 구조와 연산을 제공합니다. Pandas package import import pandas as pdSeries class Series 클래스는 Numpy에서 제공하는 1차원 배열과 그 모양이 비슷합니다. 하지만 Series data는 배열과 다르게 각 데이터의 의미를 표시하는 index를 붙일 수 있습니다. 데이터 자체는 값(value)라고 합니다. series = pd.Series([..

우상욱
'데이터엔지니어' 태그의 글 목록 (13 Page)