파이썬 Numpy - arange, linspace, 인덱싱, 데이터 합치기, 쪼개기, 기본 연산 함수

김지수·2025년 6월 11일

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(): 일정한 간격으로 나누고 싶을 때
  • np.linspace(): 정확히 몇 개의 값이 필요한 경우
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]
  • .sum(): 합계
  • .min(): 최소값
  • .max(): 최댓값
  • .argmax(): 모든 요소 중 최댓값 인덱스
  • .cumsum(): 모든 요소의 누적합
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]
  • axis=1: 열
  • axis=0: 행
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

  • np.stack(): 배열 합치기
  • np.slpit(): 배열 쪼개기
# 합치기 
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]])]
profile
오늘 배운 것을 기록하며, 나만의 지식으로 만들어가는 성장 일지 💪🍀

0개의 댓글