numpy
더보기
import numpy as np
# 생성
print("---생성---")
a = np.zeros((10,) + (5,) + (4,) + (3,), dtype=np.uint8)
print("현재차원\n", a.shape)
# 차원변경
print("---차원변경---")
b = np.zeros((20,))
print("b(20,)\n", b)
b = b.reshape(5, 4)
print("b(5, 4)\n", b)
b = b.reshape(2, 10)
print("b(2, 10)\n", b)
# 데이터 타입 변환
print("---데이터 타입 변환---")
c = np.zeros((10,))
print("현재타입\n", c.dtype)
c = c.astype(np.uint8)
print("현재타입\n", c.dtype)
# 스칼라곱
print("---스칼라곱---")
a1 = np.array([1, 2, 3])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
print("a1\n", a1)
print("a2\n", a2)
print("스칼라곱 결과 a1 * a2\n", a1 * a2) # [1*1+2*2+3*3, 1*2+2*5, 1*3+2*6]
# 스칼라곱 차원오류
# print("---스칼라곱 차원오류---")
# a1 = np.array([1,2,])
# a2 = np.array([[1,2,3],[4,5,6]])
# print("a1\n" ,a1)
# print("a2\n" ,a2)
# print("스칼라곱 결과 a1 * a2\n", a1*a2)
# 내적
print("---내적---")
a1 = np.array([1, 2])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
print("a1\n", a1)
print("a2\n", a2)
print("dot연산 a1 dot a2\n", np.dot(a1, a2)) # [1*1+2*4, 1*2+2*5, 1*3+2*6]
# 합
print("---합---")
d = np.array([[1, 2, 3], [4, 5, 6]])
print("d\n", d)
print("axis없을때\n", np.sum(d))
print("axis=0일때\n", np.sum(d, axis=0))
print("axis=1일때\n", np.sum(d, axis=1))
함수 설명
더보기
생성
# 생성
print("---생성---")
a = np.zeros((10,) + (5,) + (4,) + (3,), dtype=np.uint8)
print("현재차원\n", a.shape)
numpy 배열 생성은 일반 언어 배열 생성처럼 차원을 미리 정해줘야함
위 예제는 (10X5X4X3)차원 배열임
더보기
차원변경
# 차원변경
print("---차원변경---")
b = np.zeros((20,))
print("b(20,)\n", b)
b = b.reshape(5, 4)
print("b(5, 4)\n", b)
b = b.reshape(2, 10)
print("b(2, 10)\n", b)
더보기
데이터 타입 변환
# 데이터 타입 변환
print("---데이터 타입 변환---")
c = np.zeros((10,))
print("현재타입\n", c.dtype)
c = c.astype(np.uint8)
print("현재타입\n", c.dtype)
데이터 타입의 경우 openCV관련된 카메라 모듈과의 통신으로 데이터형이 안맞을 경우 인식이 안될수 있음
더보기
스칼라곱
# 스칼라곱
print("---스칼라곱---")
a1 = np.array([1, 2, 3])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
print("a1\n", a1)
print("a2\n", a2)
print("스칼라곱 결과 a1 * a2\n", a1 * a2) # [1*1+2*2+3*3, 1*2+2*5, 1*3+2*6]
# 스칼라곱 차원오류
# print("---스칼라곱 차원오류---")
# a1 = np.array([1,2,])
# a2 = np.array([[1,2,3],[4,5,6]])
# print("a1\n" ,a1)
# print("a2\n" ,a2)
# print("스칼라곱 결과 a1 * a2\n", a1*a2)
스칼라곱의 경우 차원이 맞아야됨, 브로드캐스팅이 이뤄짐
더보기
내적
# 내적
print("---내적---")
a1 = np.array([1, 2])
a2 = np.array([[1, 2, 3], [4, 5, 6]])
print("a1\n", a1)
print("a2\n", a2)
print("dot연산 a1 dot a2\n", np.dot(a1, a2)) # [1*1+2*4, 1*2+2*5, 1*3+2*6]
ML에서 wx+b연산에 주로 사용함
더보기
합
# 합
print("---합---")
d = np.array([[1, 2, 3], [4, 5, 6]])
print("d\n", d)
print("axis없을때\n", np.sum(d))
print("axis=0일때\n", np.sum(d, axis=0))
print("axis=1일때\n", np.sum(d, axis=1))
'라이브러리' 카테고리의 다른 글
라이브러리 - 00. Index (0) | 2021.10.05 |
---|