파이썬에서 계산이나 수치 연산에 특화된 라이브러리로 넘파이가 있습니다.
사용하는 주된 이유는 다음과 같습니다.
– 코드가 간결해진다.
– 속도가 빠르다.
– 배열을 다루기가 쉽다.
이러한 장점을 가지고 있어서 계산 로직에서 많이 사용하는거 같습니다.
사용 방법을 간단한 예제를 통해서 알아보겠습니다.
첫 번째 예제는 배열에 저장한 모든 값에 1씩 더해서 출력을 하는 소스를 만들겠습니다.
먼저 넘파이를 사용하지 않고 만들겠습니다.
orgin_list = [1,3,5,7,11]
result_list = []
for i in range(len(orgin_list)):
result_list.append(orgin_list[i] + 1)
print(result_list)
결과
[2, 4, 6, 8, 12]
배열로 작성한 값에 반복문을 사용해 모든 값에 1씩 더했습니다.
출력 결과도 1씩 더해진 값으로 출력되었습니다.
Numpy 사용 예제1
import numpy as np
orgin_list = np.array([1,3,5,7,11])
result_list = orgin_list + 1
print(result_list)
결과
[ 2 4 6 8 12]
넘파이 배열을 사용해 모든 값에 1을 추가하는 처리를 만들었습니다.
출력 결과에 모든 값에 1이 더해져서 표시되었습니다.
소스가 간결해졌습니다.
이번에는 넘파이를 사용해 1차원 배열을 2차원 배열로 변경하는 방법을 보겠습니다.
2차원 배열 예제
import numpy as np
liner = np.array([1,3,5,7,9,11])
multidimensional = liner.reshape(2,3)
print(multidimensional)
결과
[[ 1 3 5]
[ 7 9 11]]
변수 liner에는 Numpy를 사용해 값을 1차원 배열로 저장했습니다.
그리고 reshape 함수를 사용해 1차원 배열에서 2차원 배열로 변경을 했습니다.
reshape 함수를 사용해 간단하게 배열 형태를 변경할 수 있습니다.
사용법은 reshape(행, 열)을 지정해 주면 됩니다.
넘파이를 사용한 사칙연산 예제를 보겠습니다.
사칙연산
import numpy as np
res1 = np.add(10,100)
res2 = np.subtract(10,100)
res3 = np.multiply(10,100)
res4 = np.divide(100,10)
print(
res1,
res2,
res3,
res4,
)
결과
110 -90 1000 10.0
넘파이로 기본 사칙 연산도 가능합니다.
추가적으로도 여러 계산식을 함수로 지원합니다.
거듭제곱은 np.power, 제곱근은 np.sqrt를 사용합니다.
제곱 예제
import numpy as np
res1 = np.power(2,5)
res2 = np.sqrt(2)
res3 = np.sqrt(4)
print(
res1,
res2,
res3,
)
결과
32 1.4142135623730951 2.0
삼각함수 예제
import numpy as np
res1 = np.sin(0)
res2 = np.cos(0)
res3 = np.tan(0)
print(
res1,
res2,
res3,
)
결과
0.0 1.0 0.0
넘파이에는 편리한 기능이 많이 있습니다.
특히 계산 기능을 하기에는 매우 좋은 라이브러리인거 같습니다.
편리한 기능들을 더욱더 찾아봐야겠습니다.
댓글