np.arange(): Numpy 라이브러리의 함수로 숫자 배열을 생성할 때 사용
# start부터 stop 미만의 값, step의 간격으로 출력
np.arange(start, stop, step)
print(np.arange(10,30,5))
# 출력: [10, 15, 20, 25]
print(np.arange(0,2,0.3))
# 출력: [0. 0.3 0.6 0.9 1.2 1.5 1.8]
np.linspace(): 시작과 끝값 사이를 지정된 개수만큼 균등하게 나눈 값을 만듬
np.linspace(0,5,6)
# 출력: [0., 1., 2., 3., 4., 5.]
np.linspace(0,1,5)
#출력: [0. 0.25 0.5 0.75 1.]
np.arange(0, 1, 0.3)
# → [0. 0.3 0.6 0.9] (소수 오차로 인해 1 포함 안 됨)
np.linspace(0, 1, 5)
# → [0. 0.25 0.5 0.75 1.] (정확하게 나눠짐)
기본 연산
a = np.array([20,30,40,50])
b = np.arange(4)
print(a)
prnit(b)
# 출력: [20 30 40 50]
[0 1 2 3]
c=a-b
print(c)
# 출력: [20 29 38 47]
print(b**2)
# 출력: [0 1 4 9]
print(10*a)
# 출력: [200 300 400 500]
print(a < 35)
# 출력: [ True True False False]
a = np.arange(8).reshape(2,4) **2
print(a)
# 출력: [[ 0 1 4 9]
[16 25 36 49]]
print(a.sum()) # 140
print(a.min()) # 0
print(a.max()) # 49
print(a.argmax()) # 7
print(a.cumsum()) # [ 0 1 5 14 30 55 91 140]
b = np.arange(12).reshape(3,4)
print(b)
# [[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
print(b.sum(axis=0))
# [12 15 18 21]
print(b.sum(axis=1))
# [ 6 22 38]
데이터 합치기, 쪼개기 - stack, split
# 합치기
a = np.array([1,2,3,4]).reshape(2,2)
print(a)
# [[1 2]
[3 4]]
b = np.array([5,6,7,8]).reshape(2,2)
print(b)
# [[5 6]
[7 8]]
print(np.vstack((a,b)))
# [[1 2]
[3 4]
[5 6]
[7 8]]
print(np.hstack((a,b)))
# [[1 2 5 6]
[3 4 7 8]]
# 쪼개기
a = np.arange(12).reshape(2,6)
print(a)
# [[ 0 1 2 3 4 5]
[ 6 7 8 9 10 11]]
print(np.hsplit(a,3))
[array([[0, 1],
[6, 7]]), array([[2, 3],
[8, 9]]), array([[ 4, 5],
[10, 11]])]
# a를 3번째 열 ~ 4번째 열 미만 기준으로 분할
print(np.hsplit(a,(3,4)))
[array([[0, 1, 2],
[6, 7, 8]]), array([[3],
[9]]), array([[ 4, 5],
[10, 11]])]