728x90

3.24 파이썬 공부

수업 정리: 넘피

#Numpy 라이브러리
수학의 필수함수와 편리한 계산 기능 내장
임의 유형(n*m)와 배열(array)를 기반으로하여 함수, 벡터, 텐서, 행렬등의 효율적이 계산이 가능

#Numpy 사용
import numpy as np로 불러들여
np로 사용

1) a = np.array(리스트): 
#Numpy array 생성하기(일반 리스트를 numpy array로 변경)
ex)
import numpy as np
a = [1, 2, 3]
a = np.array(a)

>>>a= array([1, 2, 3])

2) a = np.zeros(리스트 성분 개수): 
#배열에 모두 0 집어넣기
ex)
import numpy as np
a = [1, 2, 3]
a = np.array(a)
a = np.zeros(3)

>>> a = ([0, 0, 0])

3) a = np.ones(리스트 성분 개수): 
#배열에 모두 1 집어넣기
ex)
import numpy as np
a = [1, 2, 3]
a = np.array(a)
a = np.ones(3)

>>> a = ([1, 1, 1])

4) a = np.full(리스트 요소 개수, 지정 숫자): 
#배열에 모두 지정한 숫자 집어넣기
ex)
import numpy as np
a = [1, 2, 3]
a = np.array(a)
a = np.full(3, 7)

>>> a = ([7, 7, 7])

4) a = np.linspace(처음 수, 끝 수, 배열 원소 개수(생략시 100)): 
#범위의 시작과 끝을 지정하고 일정한 간격으로 정해진 수의 데이터 가져오기(선형적으로 분할한 위치값)
ex)
import numpy as np
a = np.linspace(0, 10, 6)

>>> a = ([0, 2, 4, 6, 8, 10])

5) a = np.arange(처음 수(생략시 0), 끝 수(미포함), 사이 간격(생략시 1)):
# 범위의 시작과 끝을 지정하고 정해진 사이간격으로 끝 수가 나오기 전까지 데이터 가져오기
ex)
import numpy as np
a = np.arange(1, 10, 3)

>>> a = ([1, 4, 7])

6) a = np.logspace(a, b, 배열 원소 개수(생략시 50),밑 값(생략시 10)):
#log(^a)==a를 시작으로, log(^b)==b를 끝으로 지정하고 일정한 간격으로 정해진 진수값의 데이터를 가져오기 
(로그로 분할한 위치값)
ex)
import numpy as np
a = np.logspace(1, 4, 4)

>>> a = ([10, 100, 1000, 10000])

7) 여러 함수값 제공
a = np.array([1, 2, 3]) // b = np.array([4, 5, 6]) // n = [1, 4, 9]

# 각 성분 더하기
c = np.add(a, b)
>>> c = [5, 7, 9]

# 각 성분 곱하기
c = np.multiply(a, b)
>>> c = [4, 10, 18]

# 각 성분 나누기
c = np.divide(a, b)
>>> c = [0.25, 0.4, 0.5]

# 각 성분들의 절대값 계산하기
c = np.abs(a)
>>> c = [1, 2, 3]

# 각 성분들의 제곱근 계산하기
c = np.sqrt(n)
>>> c =  [1, 2, 3]

# 각 성분들의 제곱 계산하기
c = square[a]
>>> c = [1, 4, 9]

# 각 성분들의 삼각함수 계산하기
c = np.sin(a) c = np.sinh(a)
c = np.cos(a) c = np.cosh(a)
c = np.tan(a) c = np.tanh(a)

# 각 성분들의 로그 계산하기
c = np.log(a) # 자연로그
c = np.log10(a) # 상용로그
c = np.log(a) # 밑이 2인 로그
  
8) 통계 함수
a = np.array([1, 2, 3])

# 전체 성분의 합 계산하기
c = np.sum(a)
>>> c = 6

# 전체 성분의 평균 계산하기
c = np.mean(a)
>>> c = 2

# 전체 성분의 표준편차 구하기
c = np.std(a)

# 전체 성분들 중 최대 최소값 구하기
c = np.max(a) #최대값
c = np.min(a) #최소값

9) 두 넘피의 값을 비교하기
#  두 넘피의 값 중 큰 값, 작은 값 구하기
c = np.maximum(a, b) # 큰 값
c = np.minimum(a, b) # 작은 값

10) 넘피 array 정렬
# 오름차순으로 정렬
c = np.sort(a)

11) 난수 생성하기
# 균일 분포의 정수 난수 1개 생성하기
c = np.random.randint(a) # 0부터 a-1까지의 정수 중 랜덤한 숫자 한개

c = np.random.randint(a, b) # a부터 b-1까지의 정수 중 랜덤한 숫자 한개

# 0과 1사이의 균일 분포(표준 정규 분포)에서 난수 matrix array 생성
c = np.random.rand(a) # 성분이 a개의 랜덤한 숫자로 이루어진 리스트의 array 생성
ex)
c = np.random.rand(4)
array([0.1423152, 0.01423124, 0.9876545, 0.6534783])

c = np.random.rand(a, b) # 성분이 b개인 랜덤한 숫자로 이루어진 리스트 a개의 array 생성
ex)
c = np.random.rand(3,2)
array([0.1234545, 0.8765433], [0.8765673, 0.1928374], [0.0987621, 0.9764532])

# 평균 0, 표준편차 1의 가우스 확률 분포에서 난수 matrix array 생성
c = np.random.randn(a) # 성분이 a개의 랜덤한 숫자로 이루어진 리스트의 array 생성
ex)
c = np.random.randn(4)
array([0.1423152, 0.01423124, 0.9876545, 0.6534783])

c = np.random.randn(a, b) # 성분이 b개인 랜덤한 숫자로 이루어진 리스트 a개의 array 생성
ex)
c = np.random.randn(3,2)
array([0.1234545, 0.8765433], [0.8765673, 0.1928374], [0.0987621, 0.9764532])

728x90

+ Recent posts