본문 바로가기

Deep-Learning

[Deep Learning] Numpy, Matplotlib 라이브러리 정리

728x90


1. Numpy

배열 생성하기

import numpy as np

# 1차원 배열 생성
array1 = np.array([1,3,5,6,7,9])
array1
# 출력: array([1, 3, 5, 6, 7, 9])

# 0으로 채워진 배열 생성
np.zeros(5)
# 출력: array([0., 0., 0., 0., 0.])

# 범위를 지정하여 배열 생성
np.arange(10) #0~9까지 이어지는 array가 생성, for문 range와 비슷함
# 출력: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

np.arange(4,17,3) #시작점, 끝점, 간격 순으로 파라미터를 활용 가능
# 출력: array([ 4,  7, 10, 13, 16])


인덱싱과 슬라이싱

ex_array = np.array([6110,7637,8127,8885,10385,12565,13403,12398,8282,10672])

# 인덱싱
ex_array[0]  # 출력: 6110
ex_array[-1]  # 출력: 10672

# 슬라이싱
ex_array[2:6] #2번~6번 인덱스까지 골라서 슬라이싱, 새로운 어레이를 만들어 줌
# 출력: array([ 8127,  8885, 10385, 12565])

ex_array[1:8:3] #간격 또한 파라미터로 넣어줄 수 있음
# 출력: array([ 7637, 10385, 12398])


기본 연산

ex_array = np.array([12257,11561,13165,14673,16496,19403])

# 평균 연산
ex_array.mean()  # 출력: 14592.5

# 합계
ex_array.sum()  # 출력: 87555

# 최소값
ex_array.min()  # 출력: 11561

# 최대값
ex_array.max()  # 출력: 19403

# 배열 연산
ex_array * 1200
# 출력: array([14708400, 13873200, 15798000, 17607600, 19795200, 23283600])


조건문

ex_array = np.array([6610, 7637, 8127, 8885, 10385, 12565, 13403, 12398, 8282, 10672])

# 10000보다 큰 값만 선택
ex_array[ex_array > 10000]
# 출력: array([10385, 12565, 13403, 12398, 10672])

# 10000보다 크거나 8000보다 작은 값 선택
ex_array[(ex_array > 10000) | (ex_array < 8000)]
# 출력: array([ 6610,  7637, 10385, 12565, 13403, 12398, 10672])


2. Matplotlib



그래프 개형 그리기

import matplotlib.pyplot as plt

year_array = np.array([2011,2012,2013,2014,2015,2016,2017,2018,2019,2020])
stock_array = np.array([
    14.46, 19.01, 20.04, 27.59, 26.32,
    28.96, 42.31, 39.44, 73.41, 132.69
])

plt.plot(year_array, stock_array) #x축과 y축에 들어갈 값을 순차적으로 넣으면 됨
plt.show()


막대 그래프

name_array = np.array(['mark', 'dongwook', 'hyojune', 'sowon', 'taeho'])
votes_array = np.array([5, 10, 6, 8, 3])

plt.bar(name_array, votes_array) #막대그래프
plt.show()


산점도 그래프

height_array = np.array([
    165, 164, 155, 151, 157, 162, 155, 157, 165, 162,
    165, 167, 167, 183, 180, 184, 177, 178, 175, 181,
    172, 173, 169, 172, 177, 178, 185, 186, 190, 187
])

weight_array = np.array([
    62, 59, 57, 55, 60, 58, 51, 56, 68, 64,
    57, 58, 64, 79, 73, 76, 61, 65, 83, 80,
    67, 82, 88, 62, 61, 79, 81, 68, 83, 80
])

plt.scatter(height_array, weight_array) #산점도 그래프 : 두 변수의 연관성 파악
plt.show()


다양한 기능들

plt.scatter(height_array, weight_array, c = 'Green', marker='s')
plt.title('Height and Weight')
plt.xlabel('Height(cm)')
plt.ylabel('Weight(kg)')
plt.show()


728x90