Data Analysis

Python 45

[Python] Matplotlib (7) 히스토그램 그리기

히스토그램 (Histogram)은 도수분포표를 그래프로 나타낸 것으로서, 가로축은 계급, 세로축은 도수 (횟수나 개수 등)를 나타냅니다. 이번에는 matplotlib.pyplot 모듈의 hist() 함수를 이용해서 다양한 히스토그램을 그려 보겠습니다. Keyword: plt.hist(), histogram, 히스토그램 히스토그램 기본사용 weight = [68, 81, 64, 56, 78, 74, 61, 77, 66, 68, 59, 71, 80, 59, 67, 81, 69, 73, 69, 74, 70, 65] plt.hist(weight) plt.show() - weight는 몸무게 값을 나타내는 리스트입니다. - hist() 함수에 리스트의 형태로 값들을 직접 입력해주면 됩니다. 구간 개수 지정하기 w..

[Python] Matplotlib (6) 산점도 그리기

산점도 (Scatter plot)는 두 변수의 상관 관계를 직교 좌표계의 평면에 점으로 표현하는 그래프입니다. - matplotlib.pyplot 모듈의 scatter() 함수를 이용하면 산점도를 그릴 수 있습니다. - Keyword: plt.scatter(), scatter plot, 산점도 기본 사용 np.random.seed(0) n = 50 x = np.random.rand(n) y = np.random.rand(n) plt.scatter(x,y) plt.show() - NumPy의 random 모듈에 포함된 rand() 함수를 사용해서 [0, 1) 범위의 난수를 각각 50개씩 생성했습니다. - x, y 데이터를 순서대로 scatter() 함수에 입력하면 x, y 값에 해당하는 위치에 기본 마커가..

[Python] Matplotlib (5) 막대 그래프 그리기

막대 그래프 (Bar graph, Bar chart)는 범주가 있는 데이터 값을 직사각형의 막대로 표현하는 그래프입니다. Matplotlib에서는 matplotlib.pyplot 모듈의 bar() 함수를 이용해서 막대 그래프를 간단하게 표현할 수 있습니다. 기본 사용 x = np.arange(3) years = ['2018', '2019', '2020'] values = [100, 400, 900] plt.bar(x, values) plt.xticks(x, years) plt.show() - 이 예제는 연도별로 변화하는 값을 갖는 데이터를 막대 그래프로 나타냅니다. - NumPy의 np.arange() 함수는 주어진 범위와 간격에 따라 균일한 값을 갖는 어레이를 반환합니다. - years는 X축에 표시될..

[Python] Matplotlib (4) 라인 스타일, 영역 채우기

linestyle 지정하기 plt.plot([1, 2, 3], [4, 4, 4], linestyle='solid', color='C0', label="'solid'") plt.plot([1, 2, 3], [3, 3, 3], linestyle='dashed', color='C0', label="'dashed'") plt.plot([1, 2, 3], [2, 2, 2], linestyle='dotted', color='C0', label="'dotted'") plt.plot([1, 2, 3], [1, 1, 1], linestyle='dashdot', color='C0', label="'dashdot'") plt.xlabel('X-Axis') plt.ylabel('Y-Axis') plt.axis([0.8, 3...

[Python] Matplotlib (3) 축 범위 지정하기

Matplotlib 축 범위 지정하기 matplotlib.pyplot 모듈의 xlim(), ylim(), axis() 함수를 사용하면 그래프의 X, Y축이 표시되는 범위를 지정할 수 있습니다. xlim() - X축이 표시되는 범위를 지정하거나 반환합니다. ylim() - Y축이 표시되는 범위를 지정하거나 반환합니다. axis() - X, Y축이 표시되는 범위를 지정하거나 반환합니다. 기본 사용 - xlim(), ylim() plt.plot([1, 2, 3, 4], [2, 3, 5, 10]) plt.xlabel('X-Axis') plt.ylabel('Y-Axis') plt.xlim([0, 5]) # X축의 범위: [xmin, xmax] plt.ylim([0, 20]) # Y축의 범위: [ymin, ymax..

[Python] Matplotlib (2) 위치지정, 범례표시

위치 지정하기 plt.plot([1, 2, 3, 4], [2, 3, 5, 10]) plt.xlabel('X-Axis', loc='right') plt.ylabel('Y-Axis', loc='top') plt.show() - xlabel() 함수의 loc 파라미터는 X축 레이블의 위치를 지정합니다. ({‘left’, ‘center’, ‘right’}) - ylabel() 함수의 loc 파라미터는 Y축 레이블의 위치를 지정합니다. ({‘bottom’, ‘center’, ‘top’}) - 이 파라미터는 Matplotlib 3.3 이후 버전부터 적용되었습니다. Matplotlib 범례 표시하기 - 범례 (Legend)는 그래프에 데이터의 종류를 표시하기 위한 텍스트입니다. - matplotlib.pyplot 모..

[Python] Matplotlib (1) 기본사용법

Pyplot 소개 matplotlib.pyplot 모듈은 MATLAB과 비슷하게 명령어 스타일로 동작하는 함수의 모음입니다. matplotlib.pyplot 모듈의 각각의 함수를 사용해서 간편하게 그래프를 만들고 변화를 줄 수 있습니다. 예를 들어, 그래프 영역을 만들고, 몇 개의 선을 표현하고, 레이블로 꾸미는 등의 일을 할 수 있습니다. 기본 그래프 그리기 plt.plot([1, 2, 3, 4]) plt.show() - pyplot.plot() 함수에 하나의 숫자 리스트를 입력함으로써 아래와 같은 그래프가 그려집니다. - plot() 함수는 리스트의 값들이 y 값들이라고 가정하고, x 값 [0, 1, 2, 3]을 자동으로 만들어냅니다. - matplotlib.pyplot 모듈의 show() 함수는 그..

[Python] Numpy (3) Boolean, Fancy Indexing

Boolean Indexing 중복된 이름을 포함한 배열. randn 함수를 이용하여 표준 정규분포 데이터 생성 names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe']) data = np.random.randn(7, 4) # 7x4 array names data names 와 'Bob'문자열 비교하면 불리언 배열 반환 names == 'Bob' # 이 불리언 배열을 배열의 색인으로 사용 가능 data[names == 'Bob'] # 'Bob'이 있는 index 0 과 index 3 에 해당하는 데이터 # *불리언 배열은 반드시 색인하려는 축의 길이와 동일한 길이를 가져야 함. # 하지만 동일한 길이가 아니더라도 error 는 발생하지 않..

Python/Numpy 2022.11.25

[Python] Numpy (2) 배열 생성, 자료형

배열 생성 함수 array: 입력 데이터(리스트, 튜플, 배열 또는 다른 순차형 데이터)를 ndarray 로 변환하며 dtype 을 명시하지 않은 경우 자료형을 추론하여 저장 asarray: 입력 데이터를 ndarray 로 변환하지만 입력 데이터가 이미 ndarray 일 경우 복사가 일어나지 않는다. arange: 내장 range 함수와 유사. 리스트 대신 ndarray 반환 ones, ones_like: 주어진 dtype 과 모양을 가지는 배열을 생성하고 내용을 모두 1 로 초기화. ones_like 는 주어진 배열과 동일한 모양과 dtype 을 가지는 배열을 새로 생성하여 내용을 모두 1 로 초기화 zeros, zeros_like: 내용을 모두 0 으로 배열 empty, empty_like: 메모리를..

Python/Numpy 2022.11.25

[Python] Numpy (1)

Numpy : Numerical Python Numpy 호율적인 다차원 배열인 ndarray 는 빠른 배열 계산과 유연한 브로드캐스팅 기능을 제공한다. 반복문을 작성할 필요 없이 전체 데이터 배열을 빠르게 계산할 수 있는 표준 수학함수이다. 배열 데이터를 디스크에 쓰거나 읽을 수 있는 도구와 메모리에 적재된 파일을 다루는 도구이다 Numpy 자체는 모델링이나 과학 계산을 위한 기능을 제공하는 않는다.. Numpy 배열과 배열 기반 연산에 대한 이해 후 pandas 같은 배열 기반 도구 사용 시 더 효율적이다. pandas 는 Numpy 에는 없는 시계열 처리 같은 다양한 도메인 특화기능 제공한다 Numpy 는 내부적으로 데이터를 다른 내장 파이썬 객체와 구분된 연속된 메모리 블록에 저장한다. 각종 알고리..

Python/Numpy 2022.11.25