numpy.linspace

numpy.linspace 함수는 지정한 구간을 균일한 간격으로 나누는 숫자들을 반환합니다.



예제1

import numpy as np

a = np.linspace(1.0, 3.0, num=5)
b = np.linspace(1.0, 3.0, num=20)
print(a)
print(b)
[1.  1.5 2.  2.5 3. ]
[1.         1.10526316 1.21052632 1.31578947 1.42105263 1.52631579
1.63157895 1.73684211 1.84210526 1.94736842 2.05263158 2.15789474
2.26315789 2.36842105 2.47368421 2.57894737 2.68421053 2.78947368
2.89473684 3.        ]

a와 b는 1.0에서 3.0의 범위를 균일하게 나누는 숫자 5개와 20개를 반환합니다.

import numpy as np
import matplotlib.pyplot as plt

a = np.linspace(1.0, 3.0, num=5)
b = np.linspace(1.0, 3.0, num=20)
y_a = np.ones(5)
y_b = np.ones(20)

plt.plot(a, y_a, 'o', alpha=0.7, markersize=15)
plt.plot(b, y_b, '^', alpha=0.5, markersize=12)

plt.show()

Matplotlib을 이용해서 값을 나타내보면 아래와 같습니다.

../_images/numpy_linspace_01.png

그림. numpy.linspace로 균일한 숫자 생성하기.



예제2 - endpoint, retstep

import numpy as np

a = np.linspace(1.0, 3.0, num=5, endpoint=True)
b = np.linspace(1.0, 3.0, num=5, endpoint=False)
c = np.linspace(1.0, 3.0, num=5, endpoint=False, retstep=True)

print(a)
print(b)
print(c)
[1.  1.5 2.  2.5 3. ]
[1.  1.4 1.8 2.2 2.6]
(array([1. , 1.4, 1.8, 2.2, 2.6]), 0.4)

어레이 b와 같이 endpoint=False로 설정하면 범위의 끝을 제외하고 num 개의 숫자를 반환합니다.

어레이 c와 같이 retstep=True로 설정하면 step을 함께 반환(return step)합니다.



이전글/다음글

이전글 :
다음글 :