본문 바로가기

전체 글523

[pandas] 판다스 고급 Tip! Groupby에 복잡한 집계(조건부 집계 등) 함수 적용하기 안녕하세요~ 꽁냥이에요. 데이터 분석을 하다 보면 그룹별로 집계를 해야 할 때가 있는데 Pandas에서는 뭔가 정해진 집계 함수만 사용하다 보니 좀 더 복잡한 집계를 어떻게 해야 하는지 모르는 분들이 계시더라고요. 그래서 이번엔 꽁냥이가 생각하는 판다스 집계 고급(?) 팁을 알려드리고자 합니다. 그전에 groupby에 대한 기본적인 내용을 먼저 보고 오시면 좋습니다. https://zephyrus1111.tistory.com/70 [Pandas] 14. 데이터 그룹별로 집계하기 안녕하세요~ 꽁냥이에요. 데이터를 분석하다 보면 그룹별로 집계하여 데이터를 요약해야 할 일이 많이 있지요. 예를 들면 성별 평균 키를 계산하는 것처럼요. 이번 포스팅에서는 Pandas를 이용하 zephyrus1111.tistory.. 2022. 4. 27.
[Jupyter Notebook] 주피터 노트북 셀 편집창 폭 조절하기(넓게 하기) 이번 포스팅에서는 주피터 노트북(Jupyter Notebook)에서 셀 편집 창의 폭을 넓히는 방법에 대해서 알아본다. 1. 주피터 노트북(Jupyter Notebook)에서 셀 편집창의 폭 조절하기(넓히기) 주피터 노트북(Jupyter Notebook)은 내 주력 파이썬 코딩 도구이다. 그런데 때때로 셀 편집창 폭이 좁아서 코드를 좀만 써도 길어져서 잘리게 된다. 그렇다면 셀 편집창 폭을 넓힐 순 없는 걸까? -> 있다!! 코딩을 시작하기전에 아래와 같이 입력하고 실행한다. 이때 폭을 조절하는 부분은 width 옆에 퍼센티지(백분율)로 나타낸 숫자이며 이 숫자를 이용하여 셀 편집 창의 폭을 조절할 수 있다. 100%는 너무 부담스럽고 80%로 조절하였다. from IPython.display impor.. 2022. 4. 25.
12. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링(군집 분석)에 대해서 알아보자 with Python 이번 포스팅에서는 K-Means 클러스터링과 더불어 군집 분석에서 자주 사용되는 Gaussian Mixture Model 클러스터링(가우시안 혼합 모형 군집화)에 대해서 알아보고 파이썬(Python)으로 구현해보고자 한다. 1. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링이란? 2. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링 알고리즘 3. Gaussian Mixture Model(가우시안 혼합 모형) 클러스터링 장단점 4. Gaussian Mixture Model(가우시안 혼합 모형) 파이썬 구현 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보.. 2022. 4. 25.
[Python] iter함수와 itertools를 이용하여 메모리를 절약하면서 배열을 순서대로 그룹화(Grouping)하기 이번 포스팅에서는 itertools를 이용하여 배열을 같은 개수를 갖는 그룹으로 쪼개는 함수를 만들려고 한다. 예를 들어 배열(리스트) a = [ 1, 2, 3, 4]가 있다고 할 때 순서대로 2개 원소를 갖는 그룹을 만든다면 결과는 다음과 같다. [(1, 2), (3, 4)] 이제 개념은 알았으니 이를 파이썬으로 구현하려면 어떻게 해야 할까? 1. 원시적인 방법 다음과 같은 함수를 생각해볼 수 있다. 배열의 그룹 개수를 구하고 각 그룹 인덱스 별로 배열의 위치를 중복되지 않게 슬라이싱하는 방법으로 가져올 수 있다. def naive_chunk(arr, n): num_groups = len(arr) // n return [tuple(arr[i*n:(i+1)*n]) for i in range(num_gro.. 2022. 4. 23.
[Python] 순열(Permutation)과 조합(Combination) 구하기 - itertools 오늘은 itertools를 활용한 배열의 순열(Permutation)과 조합(Combination)을 계산하는 방법을 소개한다. 1. 순열(Permutation) 2. 조합(Combination) 1. 순열(Permutation) - itertools.permutations 순열은 특정 집합에서 정해진 개수만큼 서로 다른 원소를 순서를 고려하여 나열하는 방법이다. 파이썬에서는 itertools의 permutations을 통하여 순열을 구할 수 있다. 사용방법은 다음과 같다. permutations( 배열, 뽑는 개수 ) 만약 집합 1, 2, 3, 4에서 2개를 뽑는 순열은 다음과 같이 구할 수 있다. 이때 결과는 바로 나오지 않는다. 왜냐하면 generator 형식으로 나오기 때문에 list나 tuple.. 2022. 4. 22.
12. 클러스터링(군집화) 평가 지표 Dunn Index with Python 이번 포스팅에서는 클러스터링(군집화)이 잘되었는지 정량적으로 확인할 수 있는 평가 지표로 Dunn Index를 소개하려고 한다. 또한 Dunn Index를 파이썬(Python)으로 구현해보고자 한다. 1. 클러스터링(군집화) 평가의 필요성 2. Dunn Index 이 곳은 꽁냥이가 머신러닝을 공부한 내용을 정리하는 곳입니다. 이 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 웹브라우저 또는 모바일 웹브라우저로 보시길 바랍니다. 1. 클러스터링(군집화) 평가의 필요성 왜 클러스터링(군집화) 결과를 평가해야 할까? 1) 클러스터링(군집화) 알고리즘의 성능을 비교하기 위해서이다. 여러 다른 클러스터링 알고리즘을 이용하여 클러스터링 결과를 얻었다고 하자. 결과.. 2022. 4. 22.
11. K-Means 클러스터링(Clustering, 군집화)에 대해서 알아보자 with Python 이번 포스팅에서는 클러스터링(Clustering, 군집화)의 대표적인 알고리즘 중에 하나로 K-Means 클러스터링에 대해서 알아보려고 한다. 여기서 다루는 내용은 다음과 같다. 1. K-Means 클러스터링(Clustering, 군집화)이란?2. K-Means 클러스터링(Clustering, 군집화) 알고리즘3. K-Means 클러스터링(Clustering, 군집화) 장단점4. K-Means 클러스터링(Clustering, 군집화) 파이썬 구현본 포스팅에서는 수식을 포함하고 있습니다.티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다.   1. K-Means 클러스터링(Clustering, 군집화)이란?- 정의 -K-Means 클러스터.. 2022. 4. 21.
[Matplotlib] y축 눈금 숫자 형식(Number Format) 바꾸기(set_yticklabels) 백분율(%), 천단위 콤마(,), 과학적 표기(Scientific Notation) 변경 반갑습니다~ 꽁냥이입니다. 가끔씩 y축 눈금 라벨의 숫자 형식(Number Format)을 바꾸고 싶을 때가 있는데요. 이번 포스팅에서는 Matplotlib에서 y축 눈금의 숫자 형식을 바꾸는 방법에 대해서 알아보려고 해요. 여기서는 백분율(%), 천단위 콤마(,), 과학적 표기(Scientific Notation) 변경 등에 대한 내용을 다룹니다. Matplotlib - y축 눈금 숫자 형식(Number Format) 바꾸기 먼저 데이터를 만들어주고 기본 라인 차트를 그려봅니다. import matplotlib.pyplot as plt import numpy as np import warnings warnings.filterwarnings('ignore') n = 20 data=np.random.nor.. 2022. 4. 19.
Matplotlib - 로그 눈금(Log Scale) 설정하기(semilogx, semilogy, xscale, yscale) 오랜만입니다. 안녕하세요~ 꽁냥이에요. 데이터의 범위가 천차만별일 때 즉, 최소값은 1인데 최대값이 10000이라면 축이 엄청 늘어나기 때문에 그래프 가독성이 떨어질 수 있습니다. 이때 로그 눈금을 사용하면 어느 정도 축이 늘어나는 것을 방지하고 그래프의 가독성을 높일 수 있습니다. Matplotlib에서는 로그 눈금을 사용할 수 있는 기능을 제공하고 있는데요. 이번 포스팅에서는 로그 눈금(log scale)로 축을 설정하는 방법에 대해 알아보겠습니다. Matplotlib 로그 눈금 설정 먼저 다음의 샘플 데이터가 있다고 해볼게요. value = [1, 10, 100, 1000, 1000000] 먼저 로그 눈금을 사용하지 않고 라인 차트를 그린다면 어떻게 되는지 살펴보겠습니다. import matplot.. 2022. 4. 19.
[시계열 분석] 10. Phillips-Perron Test(검정) with Python 이번 포스팅은 단위근 검정의 한 방법으로 (Augmented) Dickey-Fuller(ADF)와 쌍벽을 이루는 Phillips-Perron Test(검정)에 대해서 알아본다. 그리고 파이썬을 이용하여 샘플 데이터를 통한 예제도 알아보고자 한다. 이번 포스팅에서 다룰 내용은 다음과 같다. 1. Phillips-Perron Test(검정) 2. Python 예제 - Phillips-Perron Test(검정) 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다. 1. Phillips-Perron Test(검정) 1.1 정의 다음과 같은 시계열이 있다고 하자. $$\Delta X_t = c_t +.. 2022. 4. 18.

맨 위로