Python
(Numpy: slicing, polyval)
Python (Numpy: slicing, polyval)
안녕하세요, 제 블로그는 제가 공부하면서 어려웠던 부분에 대해서 정리하고 공유하는 블로그 입니다.
오늘은 python의 강력한 기능인 slicing과 numpy를 이용한 급수 표현에 대해서 작성해보겠습니다.
너무 어려웠기 때문에 저도 하나씩 해보면서 익혀가야 될 것 같습니다.
그럼 시작해보겠습니다.
Numpy import
import numpy as np
먼저 배열하나를 생성하고 이 배열을 이용해서 slicing을 해보겠습니다.
In [76]: z = np.arange(1,10)
In [77]: z
Out[77]: array([1, 2, 3, 4, 5, 6, 7, 8, 9])
In [78]: z.shape=(3,3)
In [79]: z
Out[79]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
z 라는 3행 3열인 행렬을 만들었습니다.
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
slice 연산
-
,
의 왼쪽은 행을, 오른쪽은 열을 나타냅니다. -
:
는 두개를 사용할 수 있습니다. -
시작점
:
끝점:
간격 -
시작점 생략시
처음부터
, 끝점 생략시끝까지
, 간격 생략시시작부터 끝까지 모든 행 또는 열
아래는 제가 연습삼아 해본 코드 입니다. 위의 내용을 바탕으로 연습해보시면 이해가 빠르실 겁니다.
In [93]: z[0:3,:]
Out[93]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
In [94]: z[0:3,:2]
Out[94]:
array([[1, 2],
[4, 5],
[7, 8]])
In [95]: z[0:3,::2]
Out[95]:
array([[1, 3],
[4, 6],
[7, 9]])
Polynomial 함수
이제 급수(series)를 numpy내의 polynomial 함수를 사용해서 풀어보도록 하겠습니다.
Polyval
polyval 함수에 대해서 알아보겠습니다.
polyval(x, c, tensor=True)
x
넣으려는 값c
계수 (coefficient)tensor
는 뭔지 모르겠네요..
polyval 함수는 polynomial을 2번
타고 들어가야 나타납니다. 아래의 코드를 보시죠..
import numpy as np
sum_of_series = np.polynomial.polynomial.polyval(10, [1,2,3,4])
sum_of_series
Out[157]: 4321.0