반응형

Python 380

[Matplotlib] 파이썬 다중 막대 그래프 그리기 예제

이번 글에서는 파이썬에서 다중 막대 그래프를 겹치지 않게 그리는 예제 코드를 살펴보도록 하겠습니다. 파이썬 plt 다중 막대 그래프 예제 코드 먼저, 다음과 같은 간단한 연도별 상점별 판매 액수 데이터프레임이 있다고 가정해보겠습니다. import pandas as pd a = [135, 117, 91, 86] b = [112, 133, 151, 162] c = [96, 108, 99, 104] year = ['2018', '2019', '2020', '2021'] df = pd.DataFrame({'shop A' : a, 'shop B' : b, 'shop C' : c}, index = year) df 이제 각 상점을 나타내는 3개의 열을 대상으로 차례대로 막대 그래프를 그려보도록 하겠습니다. 각 코드 ..

Python/Matplotlib 2021.11.30

[Sklearn] 파이썬 k-NN 알고리즘(k-최근접 이웃) 예제

지도 학습 알고리즘 중 하나인 k-NN 알고리즘의 파이썬 구현 예제에 대해서 살펴보겠습니다. k-최근접 이웃 알고리즘은 새로운 데이터에 대해서 가장 가까운 기존의 k개 데이터를 살펴 k개 데이터 중 가장 많은 비율을 차지하는 class로 분류하는 분류 알고리즘인데요. 예를 들어, 테스트 데이터에 새로운 사진 A가 들어왔다고 가정해봅시다. k = 9로 정했을 때, 새로운 사진 A에서 9개의 가장 가까운 사진 중 6개가 고양이, 3개가 강아지 라벨이었다면, A는 고양이 사진으로 분류하는 예제라고 볼 수 있겠지요. 파이썬 사이킷런 k-NN 알고리즘 전처리 k-NN 알고리즘을 구현하기 위해서 필요한 간단한 전처리 과정을 먼저 수행하도록 하겠습니다. 먼저, 데이터셋을 불러오고 학습 데이터 셋 및 테스트 데이터 셋..

Python/Sklearn 2021.11.29

[Matplotlib] seaborn 파이썬 히트맵 그리는 방법 예제

지난 포스팅에서는 숫자형 - 숫자형 자료 사이의 관계 혹은 숫자형 - 범주형 자료 사이의 관계를 살피기 좋은 버블 차트를 파이썬 matplotlib에서 그리는 방법을 살펴보았습니다. 이번에는 범주형 - 범주형 자료 사이의 관계를 요약하여 보기 좋은 히트맵을 그리는 방법에 대해서 간단히 다루어보도록 하겠습니다. 여기서도 지난 글과 마찬가지로 캐글의 자전거 대여 수요 학습 데이터 셋을 사용하되, 이번에는 시간대와 계절 두 가지 범주를 가지고 그룹화를 진행하여 각 범주의 평균 자전거 대여 수를 대상으로 히트맵을 그려보도록 하겠습니다. 파이썬 히트맵 시각화에 필요한 데이터 전처리 히트맵을 그리는 함수는 matplotlib을 기반으로 두면서 더 다채로운 시각화를 할 수 있는 seaborn 패키지 내의 heatma..

Python/Matplotlib 2021.11.28

[Matplotlib] 파이썬 plt 버블 차트(Bubble plot) 예제

이번 글에서는 matplotlib의 산점도 함수인 plt.scatter 함수를 통하여 버블 차트를 그리는 방법을 알아보도록 하겠습니다. 참고로, 버블 차트는 쉽게 말하자면 산점도에서 각 점마다 크기가 달라 더 많은 정보를 한 그림 내에 담을 수 있는 시각화 자료를 말합니다. 다만, 한 그림 내에 정보가 많아지면 다소 번잡해질 수 있다는 점은 주의해주세요! 파이썬 버블 차트 기본형 : x와 y축이 모두 숫자형 우선, 기본형 버블차트인 x축과 y축이 모두 숫자형 자료인 경우를 예시로 들어보겠습니다. 데이터셋은 kaggle의 자전거 대여 수요 예측 학습 데이터 셋 중 가장 앞의 1000개 row를 사용하였습니다. 먼저, 온도와 습도에 대해 자전거 대여 수의 관계를 알아보겠습니다. x축은 온도, y축은 습도, ..

Python/Matplotlib 2021.11.28

[Pandas] 파이썬 판다스 데이터프레임 인덱싱 총정리(loc, iloc)

안녕하세요. 이번 글에서는 헷갈려보이지만 알고보면 굉장히 간단한 판다스 데이터프레임에서 인덱싱을 하는 방법에 대해서 다루어보려고 합니다. 참고로, 데이터프레임은 행은 인덱스를 기준으로, 열은 열 이름을 기준으로 명명되어있다는 점을 기억해두세요! 판다스 데이터프레임 인덱스, column 이름을 기준으로 인덱싱 : loc 함수 다음과 같은 아주 간단한 데이터프레임을 예시로 인덱싱 과정을 설명해보도록 하겠습니다. 학생 5명의 이름과 성적이라고 가정해보겠습니다. 우선 첫 번째로, a1, a2, a3 인덱스를 가진 행을 추출해보겠습니다. loc 함수 내에 원하는 index들을 리스트로 감싸서 input으로 넣어주면 됩니다! 참고로, csv 파일을 불러온 경우 등에서 기본적으로 0부터 시작하는 숫자 index를 가..

Python/Pandas 2021.11.27

[Matplotlib] 파이썬 plt 파이 차트 그리는 방법

파이썬 plt 파이 차트 그리기 파이썬에서 파이 차트를 그리면 유용한 경우가 많습니다. 이번 포스팅에서는 matplotlib을 이용하여 파이 차트를 그리고 꾸미는 몇 가지 방법에 대해서 많이 사용하는 기능 위주로 살펴보도록 하겠습니다. 먼저, 다음과 같은 가장 기본적인 파이 차트를 생각해보겠습니다. plt.pie 함수로 간단히 그릴 수 있는데요. 참고로, 파이 차트를 그릴 때에는 input을 Series 형태로 넣어주어야 합니다. a, b, c, d, e 5개의 영역이 차지하는 영역만 있고, 아무 것도 나와있지 않은 밋밋한 상태의 그래프입니다. 이제 이 파이 차트를 조금씩 꾸며보도록 하겠습니다. plt 파이 차트 라벨, 영역 비율 퍼센트 표시 가장 먼저, 파이 차트의 라벨과 각 영역의 차지 비율을 퍼센트..

Python/Matplotlib 2021.11.26

[Pandas] 파이썬 판다스 데이터프레임 정수형(int), 문자열(str) 타입 변환(astype)

판다스 문자열(str), 정수형(int) 타입 변환하기 : astype 함수 이번 포스팅에서는 astype 함수를 통하여 판다스 데이터프레임 column의 자료형을 변환시키는 방법에 대해서 알아보도록 하겠습니다. 일단 다음과 같은 상황을 생각해보겠습니다. 먼저 간단한 데이터프레임을 선언한 뒤에 데이터 프레임 내 score 열의 점수를 모두 더하려는 상황인데 세 숫자가 합쳐진 것이 아니라, 문자열(str) 자료형의 덧셈처럼 concat이 되어 6자리의 숫자처럼 변해버린 상황이라고 가정해보겠습니다. 원하는 결과를 얻지 못한 상태입니다. dtypes를 통하여 각 column의 자료형을 살펴보니 int 자료형이 아닌 object 자료형이 들어있는 것을 확인할 수 있습니다. 이제 astype 함수를 통하여 int..

Python/Pandas 2021.11.24

[Sklearn] 파이썬으로 선형 회귀 분석하기 예제 (Linear Regression)

이번 포스팅에서는 파이썬 사이킷런 모듈로 선형 회귀 분석을 진행하는 방법에 대하여 간단히 다루어보도록 하겠습니다. 우선, 데이터셋으로는 kaggle의 Bike Sharing Demand 학습 데이터셋을 사용하였습니다. 데이터셋의 생김새는 다음과 같습니다. 여기서는 'season', 'holiday', 'weather', 'temp', 'humidity', 'windspeed' 6개의 정보로 해당 시간대의 자전거 대여수인 'count'를 회귀 모델로 예측하는 선형 회귀 모델을 세운다고 가정해보겠습니다. (숫자 feature만 이용이 가능하며, 아닌 경우 이용하기를 원할 때는 one-hot encoding 등 전처리가 필요합니다.) 파이썬 사이킷런 선형 회귀 모델 분석 과정 우선, 먼저 학습에 사용할 fea..

Python/Sklearn 2021.11.23

[Sklearn] 파이썬 서포트 벡터 머신 분류기(SVM) - SVC 함수 사용법

이번 글에서는 대표적인 머신러닝을 이용한 분류기 중 하나인 서포트 벡터 머신(SVM)을 파이썬 사이킷런에서 구현하고 결과를 확인하는 과정을 간단히 살펴보도록 하겠습니다. 이 글에서는 사이킷런에서 제공하는 기본 데이터셋인 아이리스 꽃 분류 데이터셋을 활용하였습니다. 파이썬 사이킷런 서포트 벡터 머신 분류기 SVM 사전 작업 우선, 모듈을 임포트하고, 아이리스 꽃 분류 데이터셋을 가져오도록 하겠습니다. from sklearn.datasets import load_iris import pandas as pd import numpy as np # 데이터셋 로드 iris = load_iris() df = pd.DataFrame(data= np.c_[iris.data, iris.target] , columns= [..

Python/Sklearn 2021.11.22

[Pandas] 파이썬 판다스 Deep copy와 Shallow copy 비교(데이터 프레임 복사 copy 함수)

이번 포스팅에서는 파이썬 판다스에서 깊은 복사(Deep copy)와 얕은 복사(Shallow copy)의 차이에 대해서 알아보고, 판다스에서 데이터프레임 복사 시에 copy 함수를 사용해야 하는 이유에 대해서 말씀드려보려 합니다. 판다스 데이터프레임 얕은 복사(Shallow copy) 얕은 복사는 데이터를 지정하고 있는 주소까지 복사하여 복사된 객체를 변경했을 때, 원래 객체까지 같이 변경되는 복사를 의미합니다. 일단 간단한 데이터프레임을 하나 선언해볼까요? 이제 df_1 = df 형태로 그냥 단순 shallow copy를 진행해보고 데이터프레임 내 값을 1개 바꾼 뒤, 원래 객체 데이터프레임인 df의 값을 살펴보도록 하겠습니다. 맨 위의 값 한개를 loc함수를 이용하여 변경하였습니다. df_1의 값은 ..

Python/Pandas 2021.11.19
반응형