2025.03.26(수) 슈퍼코딩 AI/DATA Day 24 일일보고 - 라이브러리-NumPy_내장함수

Honey_Bunny·2025년 3월 26일

슈퍼코딩

목록 보기
22/23
post-thumbnail

NumPy_내장함수


ndaraay.sum()

  • Elements의 합
  • dtype 지정 가능

ndarray가 있을 때 갯수에 관계 없이 전체를 다 더하고 싶을 때 sum을 사용한다


axis 방향

shape = (z, y, x) = index(0,1,2)
y = ↓ x = → z = ↘ ( 3차원 정육면체 격자 기준 상상 )


ndarray 내장 함수 (methods)들

축에 방향에 따라 계산이 가능하다


ndarray methods 사용 예시

내장함수는 축에 방향으로 계산이 가능하다


NumPy 내장 수학 함수들

다양한 내장수학 함수들이 있다


NumPy 수학 함수 사용 예시

sqrt : 루트 구하는 것
square : 제곱 구하는 것
수학 함수를 쓰고 해당 데이터를 넣어서 계산
각각의 함수들에 적용되는 모양


np.vstack

vstack 벽돌 쌓는 것처럼 아래위로 쌓는 것
쌓고자 하는 ndarray를 쌓아서 ndarrary를 만드는 것
x축 방향으로 벽돌의 모양이 맞아야 쌓을 수 있다
x축 방향으로 벽돌 모양이 일치 하지 않으면 못 쌓는다


np.hstack

hstack 벽돌 쌓는 것처럼 옆으로 쌓는 것
y축 방향으로 벽돌의 모양이 맞아야 쌓을 수 있다
y축 방향으로 벽돌 모양이 일치 하지 않으면 못 쌓는다


np.concatenate

3차원을 2개를 붙이는 데 (0, 2, 3) axis = 0번(z)의 앞에 패킹을 한 것(겹쳐짐)
axis = 1번(y) 세로방향에 같아 붙인 것
axis = 2번(x) 가로방향에 같아 붙인 것


NumPy 내장함수


data = np.arange(1,21).reshape((4,5))
result = data.sum(dtype=float)
print(data)
print(result)
출력 : 
[[ 1  2  3  4  5]
 [ 6  7  8  9 10]
 [11 12 13 14 15]
 [16 17 18 19 20]]
출력 : 210.0
data = np.arange(24).reshape((3,2,4))
print(data)
print(data.shape)
출력 : 
[[[ 0  1  2  3]
  [ 4  5  6  7]]
 [[ 8  9 10 11]
  [12 13 14 15]]
 [[16 17 18 19]
  [20 21 22 23]]]
출력 : (3, 2, 4)
result1 = data.sum(axis=0)
print(result1)
print(result1.shape)
출력 : 
[[24 27 30 33]
 [36 39 42 45]]
출력 : (2, 4)
result2 = data.sum(axis=1)
print(result2)
print(result2.shape)
출력 : 
[[ 4  6  8 10]
 [20 22 24 26]
 [36 38 40 42]]
출력 : (3, 4)
result3 = data.sum(axis=2)
print(result3)
print(result3.shape)
출력 : 
[[ 6 22]
 [38 54]
 [70 86]]
출력 : (3, 2)
data = np.arange(24).reshape((3,2,4))
print(data)
print(data.shape)
출력 : 
[[[ 0  1  2  3]
  [ 4  5  6  7]]
 [[ 8  9 10 11]
  [12 13 14 15]]
 [[16 17 18 19]
  [20 21 22 23]]]
출력 : (3, 2, 4)
result1 = data.max(axis=0)
print(result1)
print(result1.shape)
출력 : 
[[16 17 18 19]
 [20 21 22 23]]
출력 : (2, 4)
result2 = data.max(axis=1)
print(result2)
print(result2.shape)
출력 : 
[[ 4  5  6  7]
 [12 13 14 15]
 [20 21 22 23]]
출력 : (3, 4)
result3 = data.max(axis=2)
print(result3)
print(result3.shape)
출력 : 
[[ 3  7]
 [11 15]
 [19 23]]
출력 : (3, 2)
data = np.arange(15).reshape((3,5))
print(data)
출력 : 
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
result1 = data.mean(axis=1)
print(result1)
출력 : [ 2.  7. 12.]
result2 = data.min(axis=0)
print(result2)
출력 : [0 1 2 3 4]
data = np.arange(1,10, dtype=float).reshape((3,3))
print(data)
출력 : 
[[1. 2. 3.]
 [4. 5. 6.]
 [7. 8. 9.]]
result1 = np.sqrt(data)
print(result1)
출력 : 
[[1.         1.41421356 1.73205081]
 [2.         2.23606798 2.44948974]
 [2.64575131 2.82842712 3.        ]]
result2 = np.square(data)
print(result2)
출력 : 
[[ 1.  4.  9.]
 [16. 25. 36.]
 [49. 64. 81.]]
result3 = np.sin(data)
print(result3)
출력 : 
[[ 0.84147098  0.90929743  0.14112001]
 [-0.7568025  -0.95892427 -0.2794155 ]
 [ 0.6569866   0.98935825  0.41211849]]
data1 = np.array([[1,2,3],[4,5,6]])
data2 = np.array([[7,8,9],[10,11,12],[10,11,12]])
print(data1)
print(data2)
출력 : 
[[1 2 3]
 [4 5 6]]
출력 : 
[[ 7  8  9]
 [10 11 12]
 [10 11 12]]
result = np.vstack((data1, data2))
print(result)
출력 : 
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]
 [10 11 12]]
data1 = np.array([[1,2,3],[4,5,6]])
data2 = np.array([[7],[10]])
data3 = np.array([[8,9],[11,12]])
print(data1)
print(data2)
출력 : 
[[1 2 3]
 [4 5 6]]
출력 : 
[[ 7]
 [10]]
result = np.hstack((data1, data2, data3))
print(result)
출력 : 
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]
data1 = np.array([[1,2,3],[4,5,6]])
data2 = np.array([[7,8,9],[10,11,12]])
result = np.concatenate((data1, data2), axis=0)
print(result)
출력 : 
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
result = np.concatenate((data1, data2), axis=1)
print(result)
출력 : 
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]
data1 = np.array([[[1,2,3],[4,5,6]]])
data2 = np.array([[[7,8,9],[10,11,12]]])
print(data1)
print(data1.shape)
print(data2)
print(data2.shape)
print("-"*10)
출력 : 
[[[1 2 3]
  [4 5 6]]]
출력 : (1, 2, 3)
출력 : 
[[[ 7  8  9]
  [10 11 12]]]
출력 : (1, 2, 3)
result = np.concatenate((data1, data2), axis=0)
print(result)
출력 : 
[[[ 1  2  3]
  [ 4  5  6]]
 [[ 7  8  9]
  [10 11 12]]]
result = np.concatenate((data1, data2), axis=1)
print(result)
출력 : 
[[[ 1  2  3]
  [ 4  5  6]
  [ 7  8  9]
  [10 11 12]]]
result = np.concatenate((data1, data2), axis=2)
print(result)
# print("-"*10)
# result = np.hstack((data1, data2))
# print(result)
출력 : 
[[[ 1  2  3  7  8  9]
  [ 4  5  6 10 11 12]]]
profile
현재 : C# WPF 개발자 / 목표 : AI 의료 영상 분석 연구원

0개의 댓글