반응형

Python 411

[Matplotlib] 파이썬 y축 양쪽으로 2개 설정하기

파이썬 이중 y축 그리는 방법 안녕하세요. 이번 글에서는 파이썬 matplotlib에서 subplot의 속성을 이용하여 서로 다른 y축을 가지는 이중 축 그래프를 그리는 방법에 대해서 살펴보도록 하겠습니다. 단일 y축 그래프 예시 먼저, 이중 축을 설정하지 않고 단일 축으로 두 그래프를 그린 간단한 예시를 보겠습니다. import matplotlib.pyplot as plt x = [1, 2, 3, 4] y1 = [12, 13, 9, 14] y2 = [1000, 750, 1100, 850] plt.plot(x, y1, color = 'red', alpha = 0.5) plt.plot(x, y2, color = 'blue', alpha = 0.5) plt.show() 두 그래프의 y축 값을 나타내는 y1,..

Python/Matplotlib 2022.02.16

[Matplotlib] 파이썬 워드 클라우드(Word Cloud) 시각화 예제

Python 워드 클라우드 색상, 크기, 모양 지정 방법 정리 안녕하세요. 이번 글에서는 파이썬의 WordCloud 라이브러리를 활용하여 단어의 빈도를 한 눈에 시각화할 수 있는 워드 클라우드를 그려보고 컬러맵, 크기, 모양 등의 속성을 변경하는 방법에 대하여 정리해보도록 하겠습니다. 파이썬 워드 클라우드 기본 예제 예를 들어, 단어의 빈도가 아래와 같은 데이터프레임으로 결과가 요약되었다고 가정해보고 이를 기반으로 워드 클라우드를 생성해보도록 하겠습니다. (편의상 두개의 열로 잘라서 표현되었지만, 실제로는 AAA ~ ZZZ의 26개 행이 1개의 열입니다.) 워드 클라우드 생성에는 matplotlib 라이브러리와 WordCloud 라이브러리가 필요합니다. 기본 설정으로 워드 클라우드를 그리는 방법은 아래와..

Python/Matplotlib 2022.02.15

[Pandas] 데이터프레임 생략 없이 출력 방법(display 옵션)

파이썬 판다스 모든 행, 열 출력 하기 판다스 라이브러리를 이용하여 데이터프레임을 출력할 때, 행이나 열 개수가 너무 많은 경우 일부가 생략되어 보이면서 불편한 경우가 있습니다. 이번 시간에는 display 옵션을 통하여 출력될 행, 열의 개수를 조정하여 생략 없이 모든 데이터프레임의 값을 볼 수 있는 방법을 말씀드리겠습니다. 행 최대 출력 개수 변경 pd.set_option('display.max_rows', 숫자) 위의 코드 한줄에 원하는 숫자를 입력하여 출력되는 행의 최대 개수를 변경하실 수 있습니다. 단, 행 개수에 관계없이 데이터프레임의 모든 행을 출력하는 방법은 숫자 부분에 None을 입력해주시면 됩니다. 다만, 데이터프레임이 매우 큰 경우에는 속도 감소 및 튕김 현상 등이 발생 가능하니 사용..

Python/Pandas 2022.02.14

[Matplotlib] 주피터 노트북 그래프 한글 깨짐 해결법

Jupyter Notebook 환경에서 한글 폰트 설정 안녕하세요. 이번 글에서는 주피터 노트북(Jupyter Notebook) 환경에서 한글 텍스트를 포함한 그래프를 그릴 때, 한글 폰트가 깨지는 현상을 해결하는 방법에 대하여 다루어보겠습니다. 한글 깨짐 현상 원인 파이썬 matplotlib에서 아무런 설정 없이 한글이 포함된 그래프를 그리려고 시도하면 아래와 같이 네모 모양으로 한글 텍스트가 깨지는 현상이 생길 수 있습니다. 이는 matplotlib 기본 폰트인 sans-serif가 한글을 지원하지 않아서 생기는 문제로, 한글을 지원하는 폰트 종류로 변경하여 문제를 해결할 수 있습니다. 이제 주피터 노트북 환경에서 한글 적용 폰트로 변경하는 과정을 설명해드리겠습니다. 한글 폰트 다운로드 이번 예제에서..

Python/Matplotlib 2022.02.14

주피터 노트북에서 삭제된 셀을 복구하는 방법

Jupyter Notebook 셀 삭제 되돌리기 매뉴얼 안녕하세요. 이번 글에서는 주피터 노트북에서 코드 작업 중 실수로 삭제한 셀에 대하여 삭제를 취소하는 방법을 다루어보겠습니다. 먼저, Jupyter Notebook에서 셀 삭제는 ESC + D + D의 단축키로 진행이 가능하며, Edit 탭의 Delete Cells 메뉴로도 셀 삭제를 할 수 있습니다. 반면에, 주피터 노트북에서 삭제된 셀을 복구하는 방법은 ESC + Z의 단축키를 이용하거나, Edit 탭의 Undo Delete Cell 메뉴를 클릭해주시면 가장 최근에 삭제된 셀부터 되돌리기가 가능합니다. 여러 개의 셀을 삭제한 경우에도 차례대로 삭제 취소가 가능하오니 당황하지 마시고 위 매뉴얼을 잘 따라주시면 도움이 되실 것으로 생각됩니다.

Python/Debugging 2022.02.13

파이썬 리스트 컴프리헨션(List Comprehension) 예제 총정리

Python 리스트 컴프리헨션(조건제시법) 경우의 수 정리 안녕하세요. 이번 시간에는 파이썬에서 조건제시법으로 리스트 자료형의 원소들을 간단하게 생성할 수 있는 기능인 리스트 컴프리헨션(List Comprehension)의 활용 방법에 대해서 총망라해보는 시간을 가져보도록 하겠습니다. List Comprehension 기본형 리스트 컴프리헨션의 기본 사용 방법은 아래의 형태와 같습니다. [생성될 원소 for 반복될 값 조건] 주로, 조건을 반복 제시하는 경우는 for문을 이용하여 구현되는데요. 예를 들어, 3, 6, 9, 12, ... ,30 까지의 원소를 생성하고 싶은 경우는 1~10까지의 수에 대하여 3을 곱해주는 형태의 조건을 제시하면 될 것입니다. 이 경우 아래와 같은 코드 한줄로 손쉽게 해당 원..

파이썬 리스트 인덱싱, 슬라이싱 경우의 수 총정리

Python List 인덱싱과 슬라이싱 방법 안녕하세요. 이번 시간에는 파이썬 기본 자료형 중 하나인 리스트 자료형에서 인덱싱과 슬라이싱을 통하여 원하는 자료를 추출해낼 수 있는 방법을 총망라하여 다루어보도록 하겠습니다. 리스트 인덱싱 기본 방법 먼저, 아래와 같은 자료가 총 5개인 List가 있다고 가정해보겠습니다. a = [10, -2, 'nice', 15, 'good'] 유의할 점은 파이썬에서는 숫자를 0부터 셈한다는 것 입니다. 이 점을 이용하면 직관적으로 0번째 자료는 10, 1번째 자료는 -2처럼 되고 있는 상황을 이해해볼 수 있습니다. 인덱싱은 n번째 자료 1개를 추출해내는 방법으로, 리스트 a에 대하여 n번째 자료를 가져오는 상황에서는 a[n]과 같은 문법으로 사용합니다. # 인덱싱 예시 ..

[Sklearn] 파이썬 사이킷런 PCA 구현 및 시각화 예제

Python PCA(주성분 분석) 차원 축소 실습 코드 안녕하세요. 이번 시간에는 파이썬의 사이킷런 라이브러리를 활용하여 대표적인 차원 축소 기법인 주성분 분석(PCA)을 구현해보고 설명력 결과 해석 및 시각화를 해보는 실습까지 진행해보도록 하겠습니다. 데이터셋 불러오기, 정규화 이번에 PCA 차원 축소를 진행해볼 데이터 셋은 사이킷런에서 제공하는 iris 데이터셋입니다. 또한, PCA 과정 수행을 위해서는 각 feature의 평균과 편차를 일정하게 맞추는 정규화 과정이 필수적으로 수행되어야 하므로, StandardScaler를 미리 적용하도록 하겠습니다. 데이터셋 로드 및 정규화 과정은 아래 코드를 참고해주시면 됩니다. from sklearn.datasets import load_iris from sk..

Python/Sklearn 2022.02.12

[Matplotlib] 파이썬 산점도 색, 크기, 모양, 여러개 겹치기 설정법

파이썬 scatter plot 꾸미기 방법 정리 안녕하세요. 이번 시간에는 파이썬 matplotlib 라이브러리에서 두 feature 간의 상관관계를 분석할 때 용이한 산점도를 그려보고 점의 색상, 크기와 모양을 지정하는 방법과 두 개 이상의 산점도를 겹치는 방법에 대하여 다루어보도록 하겠습니다. 산점도 그리기 함수 plt.scatter 기본 사용법 우선, scatter plot을 그려보기 위하여 x와 y축 데이터 모두 -2 ~ 2 사이의 균일분포에서 추출한 데이터 x1, y1과 평균 0, 표준편차 1에서 추출한 데이터 x2, y2를 가져와보겠습니다. import numpy as np import matplotlib.pyplot as plt # -2 ~ 2 사이 균등분포 100개 추출 x1 = (np.r..

Python/Matplotlib 2022.02.10

[Sklearn] 파이썬 t-SNE 차원 축소 시각화 예제

Python tsne 이용 2차원, 3차원 시각화 안녕하세요. 이번 글에서는 파이썬 사이킷런 라이브러리를 이용하여 t-SNE로 2차원 혹은 3차원으로 데이터 차원을 축소한 상태의 시각화를 진행하는 방법에 대해서 살펴보겠습니다. t-SNE 시각화 사용 이유, 장점 데이터의 분포를 살펴보는 과정에서 처음에 각 class의 분포를 시각화를 통하여 개략적으로 살피는 것이 도움이 많이 됩니다. 그러나, feature가 4종류 이상인 경우, 4차원 이상의 데이터는 직접 시각화가 어렵습니다. 따라서, 보통 시각화가 편리한 2차원이나 3차원으로 차원 축소를 진행 후, 실제 feature가 아닌 축소된 주성분을 기준으로 분포를 간접적으로 시각화하게 됩니다. 이 과정에서, 차원 축소 방법으로는 PCA, t-SNE 등 방법..

Python/Sklearn 2022.02.10
반응형