[1] Making ndarrays with Fixed Intervals(간격입장)
- range와는 다르게 arange(advanced range)는 소수점도 사용할 수 있음

print(list(range(10))) # [0,1,2,3,4,5,6,7,8,9]
print(list(range(2,5))) # [2,3,4]
print(list(range(2,10,2))) # [2,4,6,8]
import numpy as np
print(np.arange(10)) # [0,1,2,3,4,5,6,7,8,9]
print(np.arange(2,5)) # [2,3,4]
print(np.arange(2,10,2)) # [2,4,6,8]
print(np.arange(10.5)) # [0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
print(np.arange(1.5, 10.5)) # [1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5]
print(np.arange(1.5, 10.5, 2.5)) # [1.5 4. 6.5 9. ]
[2] Making ndarrays with Fixed Points(개수입장)
- 처음점과 끝점을 포함함 (endpoint = False로 바꿀 수 있음)
- a = np.linspace([1,10,100],[2,20,200],5) 는 1-2까지 10-20까지 100-200까지 5개의 점으로 만들어라임
- linspace를 통해 for문 없이 여러개의 linear space를 동시에 만들 수 있음

# Making ndarrays with the Fixed Points
print(np.linspace(0,1,5)) # [0. 0.25 0.5 0.75 1. ]
a = np.linspace([1,10,100],[2,20,200],5)
print(a)
''' [[ 1. 10. 100. ]
[ 1.25 12.5 125. ]
[ 1.5 15. 150. ]
[ 1.75 17.5 175. ]
[ 2. 20. 200. ]]'''
[3] np.arange and np.linspace
- float이 가능하기 때문에 상호교환이 가능함
- 그러면 그 중 하나만 사용해도 되지 않나?라는 의문이 듬
- 그러나 numpy같은 경우에는 가독성이 좋아야 함
- arange는 범위에 대해서 접근을 하는 것
- linspace는 개수에 대해서 접근하는 것
- 입장에 따라서 쓰는 것이 가장 좋음
# np.arange and np.linspace
print(np.arange(0, 1 + 0.25, 0.25)) #[0. 0.25 0.5 0.75 1. ]
print(np.linspace(0, 1, 5)) # [0. 0.25 0.5 0.75 1. ]
print(np.arange(10)) # [0 1 2 3 4 5 6 7 8 9]
print(np.linspace(0,9,10), '\n') # [0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]