데이터 취업 스쿨 스터디 노트 -(18) matplotlib, numpy

테리·2024년 6월 28일
post-thumbnail

matplotlib

matplotlib에서 그래프에서 한글이 깨지지 않게 하기 위해 한글 설정

import matplotlib.pyplot as plt
from matplotlib import rc
rc('font', family = 'Malgun Gothic')
get_ipython().run_line_magic('matplotlib', 'inline')

matplotlib 그래프 기본 형태

plt.figure(figsize=(10,6))
plt.plot(x,y)
plt.show

삼각함수 그리기

np.arange(a,b,s): a부터 b까지 s의 간격
np.sin(value)

t= np.arange(0,12,0.01)


1. 격자무늬 추가
2. 그래프 제목 추가
3. x축, y축 제목 추가
4. 주황색, 파란색 선 데이터 의미 구분

모양 색상 설정


x축(xlim), y축(ylim) 범위 설정, 마커 설정

scatter plot

pandas에서 plot 그리기

  • matplotlib를 가져와서 사용

한글 설정 한번 더

컬럼 시각화


해당 코드 끝에 세미콜론 ';'을 넣으면 그래프 위에 한글로 써져있는 부분 안보이게 할 수 있다.
정렬

데이터의 경향을 파악

다항식의 계수를 반환하는 함수 polyfit

np.polyfit(x,y,차수)
결과의 값이
array([1.11155868e-03, 1.06515745e+03]) 형태로 나오기도 한다.
그 이유는
만약 차수가 1이라면, 1차 다항식(즉, 직선)을 적합시키게 된다. 1차 다항식은 일반적으로 y = mx + b 형태를 가진다. 여기서 m은 기울기(slope), b는 절편(intercept)이다. 따라서, np.polyfit이 반환하는 계수는 m과 b이다.

np.poly1d()
: polyfit으로 찾은 계수로 파이썬에서 사용할 수 있는 함수로 만들어주는 기능

ex)
fp1 = np.polyfit(data_result['인구수'], data_result['소계'],1)
f1 = np.poly1d(fp1)
f1(400000) # x=400000일때의 y 값
# 결과값 ex) -> 1509.7892~~~

np.linespace(a, b, n)
: a부터 b까지 n개의 균등한 간격으로 데이터 생성

ex) fx = np.linspace(100000,700000,100)

경향과의 오차 만들기

  • 경향(trend)과의 오차를 만들자
  • 경향은 f1 함수에 해당 인구를 입력
  • f1(data_result['인구수'])

data_result['오차'] = data_result['소계'] - f1(data_result['인구수'])

컬러맵을 사용해서 구분하기

cmap 매개변수는 색상 맵 (colormap)을 지정합니다. cmap은 c 매개변수가 배열 형태로 주어졌을 때 사용됩니다.
cmap은 데이터를 색상 값으로 변환하는 방법을 정의하는 역할을 합니다.
일반적으로 c 매개변수가 숫자 배열로 주어질 때, 이 숫자 배열의 값에 따라 색상을 지정하기 위해 사용됩니다.

그래프 특정 데이터에 명칭 넣어주기

plt.text(x축값 * x값으로 부터의 거리, y축값 * 값으로 부터의 거리, '표기할 명칭', '폰트 사이즈')
plt.text(df_sort_f['인구수'][0] * 1.02, df_sort_f['소계'][0] * 0.98, '이름', fontsize=15)

for문을 활용

CSV 파일로 저장

data_result.to_csv('../data/01. CCTV_result.csv', sep=',', encoding='utf=8')

sep는 to_csv() 메서드의 매개변수로, 데이터를 CSV 파일로 저장할 때 각 열을 구분하는 데 사용하는 구분자(separator)를 지정합니다.

0개의 댓글