데이터 분석 도전하기 - 2
matplotlib, numpy, pandas 사용법에 대해 다룹니다.
이전 포스트
데이터 분석 도전하기 - 2
Elice Numpy, Pandas 데이터분석 강의 와 함께 진행할 수 있습니다.
Numpy
행렬 연산을 Python으로 제공하는 라이브러리다
모든 코드에는
import numpy as np
로 Numpy import 한다.
기본 연산
행렬의 기본적인 연산을 아래와 같이 작성할 수 있다.
array = np.arange(5)
print(array)
print("array + 5:", array + 5)
print("array + 5:", array - 5)
print("array + 5:", array * 5)
print("array + 5:", array / 5)
행렬간의 덧셈, 뺄셈은 아래와 같이 가능하다.
print("배열 덧셈: ", array + array2)
print("배열 뺄셈: ", array - array2)
reshape, concatenate
reshape : 행렬 구조 변경이 가능합니다.
print("array")
array = np.arange(8)
print(array)
print("shape: ", array.shape, "\n")
array [0 1 2 3 4 5 6 7]
shape: (8,)
print("# reshape (2,4)")
matrix = array.reshape((2,4))
print(matrix)
print("shape: ", matrix.shape, "\n")
# reshape (2, 4)
[[0 1 2 3]
[4 5 6 7]]
shape: (2, 4)
concatenate : 행렬간의 붙이기가 가능합니다.
Java의 String 함수인 concat과 비슷한 기능을 합니다.
axis에 따라 행렬을 합하는 기준이 달라집니다.
아래 코드를 참고하여 쉽게 이해가 가능합니다
axis = 0 일때
print("matrix 두개 axis 0으로 붙이기")
m = np.concatenate([matrix, matrix], axis = 0)
print(m, "\n")
matrix 두개 axis 0으로 붙이기
[[0 1 2 3]
[4 5 6 7]
[0 1 2 3]
[4 5 6 7]]
axis = 1 일때
print("matrix 두개 axis 1으로 붙이기")
m = np.concatenate([matrix, matrix], axis = 1)
matrix 두개 axis 1으로 붙이기
[[0 1 2 3 0 1 2 3] [4 5 6 7 4 5 6 7]]
집계함수
- sum, min, max, mean과 같은 기능을 지원한다.
matrix = np.array([[0 1 2 3], [4 5 6 7]])
print(matrix)
print("sum:", np.sum(matrix))
print("min:", np.min(matrix))
print("max:", np.max(matrix))
print("mean:", np.mean(matrix))
[[0 1 2 3]
[4 5 6 7]]
sum: 28
min: 0
max: 7
mean: 3.5
지금까지 익힌 Numpy
라이브러리 사용법을 통하여,
늑대가 나타났다!
의 문제를 풀어보았다.
이를 변형하여,
0, 1로 구성된 행렬에서 0이 아닌 수를 출력해본다.
n = [1 if i%3 else 0 for i in range(0,300)]
# 0 1 1 0 1 1 0 1 1 패턴으로 300개의 원소로 구성되어졌다.
np_array = np.array(n)
print(np_array)
print(np.count_nonzero(np_array))
count_nonzero
를 이용하여 Numpy 행렬의 원소에서 0이 아닌 것들의 합을 구할 수 있다.
# [0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1]
200
위와 같이 출력된다.
이것으로 Numpy의 사용법에 대해 마친다.
다음 목차에서는 pandas
와 matplotlib
에 대해 다룬다.
댓글