본문 바로가기

데이터 분석175

[Pandas] 39. 데이터프레임 열(칼럼) 또는 행 똑같이 맞추기 (feat. align) 안녕하세요~ 꽁냥이에요. 데이터 분석을 하다 보면 여러 테이블을 합쳐야 하는데 칼럼이나 행이 일치하지 않아서 이를 일치시켜주어야 할 때가 있습니다. Pandas에서는 align이라는 함수를 이용하여 여러 데이터프레임에 대하여 칼럼 열(칼럼) 또는 행을 똑같이 맞출 수 있는데요. 이번 포스팅에서는 Pandas의 align 함수를 방법에 대해서 알아보겠습니다. align 사용법 두개의 데이터프레임 df1, df2가 있다고 할 때 align의 사용법은 다음과 같습니다. df1.align( df2, join, axis ) align은 두 데이터프레임을 결합할 때 사용하는 join 메서드와 비슷합니다. align 함수는 일치시킬 데이터프레임을 첫 번째 인자로 넣어줍니다. join 인자에는 일치시키는 방법을 말하며.. 2023. 1. 19.
[Pandas] 38. 특정 칼럼(Pandas Series)의 누적합, 누적곱, 누적 최대값, 누적 최소값 구하기(feat. cumsum, cumprod, cummax, cummin) 안녕하세요~ 꽁냥이입니다. 이번 포스팅에서는 Pandas에서 제공하는 누적합(cumsum), 누적곱(cumprod), 누적 최대값(cummax), 누적 최소값(cummin)을 구하는 방법을 알아보고자 합니다. 누적값 구하기 1) 누적합 : cumsum 누적합은 배열의 첫 번째 원소부터 다음 원소로 진행해가면서 값을 계속 더해나가는 것을 말합니다. Pandas에서는 Series 객체의 cumsum 메서드를 이용하면 누적합을 계산할 수 있습니다. 이때 NaN을 만나면 NaN을 출력하고 그 다음 부터는 무시합니다. import pandas as pd import numpy as np data = [1,2,3,7,np.nan,10,1] print(pd.Series(data).cumsum()) 만약 NaN를 쭉 .. 2023. 1. 18.
[Pandas] 37. 여러가지 통계량 구하기 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 Pandas에서 제공하는 여러 가지 통계량(평균, 분산, 중앙값, 분위수 등)을 정리해 보았어요. 테이블에 통계량의 의미와 함수를 정리했고요. 테이블에서 data는 숫자형 데이터를 담고있는 1차원 배열을 의미합니다. 또한 사용법도 있으니 같이 참고하시면 좋습니다. 여러가지 통계량 1) 대표값 평균 pd.Series(data).mean() 중앙값 pd.Series(data).median() 최빈값 pd.Series(data).mode() 제1 사분위수 pd.Series(data).quantile(0.25) 제2 사분위수(중앙값) pd.Series(data).quantile(0.5) 제3 사분위수 pd.Series(data).quantile(0.75) - 파이썬 예.. 2023. 1. 18.
[Pandas] 36. 특정 칼럼 정렬되어 있는지 확인하기 (feat. is_monotonic_increasing, is_monotonic_decreasing) 안녕하세요~ 꽁냥이에요. 오늘은 꽁냥이가 Pandas 문서를 살펴보다가 알게 된 기능을 소개하려고 하는데요. 바로 is_monotonic_increasing, is_monotonic_decreasing 속성입니다. 이 속성들은 Pandas Series 객체가 오름차순 정렬인지 내림차순 정렬인지를 알려줍니다. 이를 이용하면 데이터프레임에서 특정 칼럼의 정렬 여부를 확인할 수 있습니다. 특정 칼럼 정렬되어 있는지 확인하기 1) 오름차순 정렬 확인 : is_monotonic_increasing is_monotonic_increasing은 Pandas Series 객체(또는 칼럼)가 오름차순으로 정렬되어 있는지 확인해 줍니다. df = pd.DataFrame() df['A'] = [1,2,3,4,5] df['B.. 2023. 1. 18.
[Pandas] Tip!! 원하는 데이터 구간 만들기 (feat. IntervalIndex.from_tuples) 안녕하세요~ 꽁냥이에요. 지난 포스팅에서는 Pandas의 cut과 qcut데이터를 구간으로 나누어 보는 방법에 대해서 소개했는데요. 이번 포스팅에서는 번외로 데이터로부터 구간을 만드는 것이 아닌 직접 구간을 만드는 방법을 소개하려고 합니다. cut과 qcut 사용 방법은 아래 포스팅을 참고하시기 바랍니다. [Pandas] 35. 데이터 구간 나누기 (feat. cut, qcut) [Pandas] 35. 데이터 구간 나누기 (feat. cut, qcut) 안녕하세요~ 꽁냥이에요. 데이터 분석을 하다 보면 데이터를 특정 칼럼값을 기준으로 구간을 나누어야 할 때가 있는데요. Pandas에서 제공하는 cut과 qcut을 이용하면 쉽게 구간을 나눌 수 있어요. zephyrus1111.tistory.com 원하는 .. 2023. 1. 17.
[Pandas] 35. 데이터 구간 나누기 (feat. cut, qcut) 안녕하세요~ 꽁냥이에요. 데이터 분석을 하다 보면 데이터를 특정 칼럼값을 기준으로 구간을 나누어야 할 때가 있는데요. Pandas에서 제공하는 cut과 qcut을 이용하면 쉽게 구간을 나눌 수 있어요. 이번 포스팅에서는 Pandas에서 cut과 qcut 사용법을 알아보고 이를 응용하는 방법도 알아보려고 합니다. 데이터 구간 나누기 (feat. cut, qcut) 1) 데이터를 구간 길이에 따라 나누어 보자 : cut a. 기본 사용법 데이터를 구간 길이에 따라 나눌 때에는 cut을 사용합니다. cut 함수의 사용법은 다음과 같습니다. cut( array, bins, labels) cut 함수는 나누고자하는 숫자값을 포함하는 배열을 첫 번째 인자로 받습니다. bins는 나누고자 하는 방식인데 bins에 양.. 2023. 1. 17.
[Matplotlib] 등고선도(Contour Plot)을 그려보자 (feat. contour, contourf) 반갑습니다~ 꽁냥이입니다. 등고선도 또는 등치선도(Contour Plot)는 2차원 좌표계에서 같은 높이를 가지는 부분을 선으로 이어서 그린 것을 말합니다. 등고선도를 이용하면 좌표상의 높이(또는 z값)의 분포를 직관적으로 알 수 있는데요. 이번 포스팅에서는 Matplotlib을 이용하여 등고선도를 그리는 방법에 대해서 알아보겠습니다. 여기서는 격자형 데이터를 이용하여 등고선도를 그리는 기본 방법을 알아보고 좌우 상하 간격이 일정하지 않은 데이터(Irregular Data)에 대한 등고선도 그리고 외삽(Extrapolation)을 이용하여 데이터 바깥 영역까지 등고선도를 그릴 수 있는 방법을 알아보겠습니다. - 목차 - 1. 격자형 데이터 2. 간격이 일정하지 않은 데이터 3. 외삽(Extrapolati.. 2023. 1. 10.
[Matplotlib] Tip! add_patch와 PatchCollection 비교 안녕하세요~ 꽁냥이에요. Matplotlib에서는 Patch라는 개념이 있는데요. 이는 도형이라고 생각하면 됩니다. 이러한 Patch를 추가할 때에는 add_patch를 사용하는데요. 만약 수많은 Patch를 추가한다면 add_patch 보다는 PatchCollection으로 한데 모아서 한 번에 추가하는 게 속도가 더 빨라집니다. 이번 포스팅에서는 add_patch와 PatchCollection의 사용법과 여러 도형을 추가할 때 속도 측면에서 어떤지 비교 실험을 해보겠습니다. add_patch와 PatchCollection 비교 1) Patch가 하나인 경우 여기서는 Patch를 Rectangle(사각형)으로 한정하여 실험해보겠습니다. 먼저 필요한 모듈을 임포트 합니다. import matplotlib.. 2023. 1. 4.
[Matplotlib] Tip! 좌표축 Axes의 가로 세로 길이 Inche 단위로 알아보기 (feat. get_window_extent, dpi_scale_trans) 안녕하세요~ 꽁냥이에요. 오늘은 Matplotlib과 관련하여 간단한 팁을 소개합니다. 바로 Axes 가로 세로 길이를 Inche 단위로 알아보는 방법입니다. Axes 가로 세로 길이 비율 계산하기. 먼저 Axes는 네 개의 축으로 둘러싸인 영역을 말합니다. 이제 Axes의 가로 세로 길이를 Inche 단위로 알아봅시다. 먼저 선 그래프를 하나 그립니다. import matplotlib.pyplot as plt fig = plt.figure() fig.set_facecolor('white') ax = fig.add_subplot() ax.plot([1,2,3,4,5], [6,4,7,3,1]) plt.show() 이제 Axes의 가로 세로 길이를 인치(Inche) 단위로 뽑기 위한 코드입니다. 먼저 Fig.. 2023. 1. 3.
[Pandas] Tip!! 데이터프레임(Data Frame)을 필터, 칼럼 폭 조정, 첫 행 고정 옵션을 적용하여 엑셀로 저장하기(feat. xlsxwriter) 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 Pandas 데이터프레임(Data Frame)을 엑셀 파일에 필터, 칼럼 폭 조정, 첫 행 고정 적용하는 방법을 소개합니다. 이러한 설정 옵션을 적용하면 엑셀 파일을 열고 분석할 때 편의성이 높아지지요. 데이터프레임(Data Frame) 필터, 칼럼 폭 조정, 첫 행 고정 적용하기(feat. xlsxwriter) 먼저 예제용 데이터를 만들고 바로 엑셀로 저장해보겠습니다. import pandas as pd ## 예제 데이터 test_data = { '회계연도':[2002, 2003, 2004, 2005], '도미니카 공화국':[10, 20, 30, 40], } test_df = pd.DataFrame(test_data) ## 엑셀 저장 test_df.to_exc.. 2022. 12. 7.

맨 위로