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])
'백준 > 백준 파이썬' 카테고리의 다른 글
백준 파이썬 Today I Learn 2023.04.08 (0) | 2023.04.13 |
---|---|
백준 파이썬 Today I Learn 2023.03.27 (0) | 2023.04.08 |
백준 파이썬 Today I Learn 2023.03.22 (0) | 2023.03.28 |
백준 파이썬 Today I Learn 2023.03.21 (0) | 2023.03.27 |
백준 파이썬 Today I Learn 2023.03.18 (1) | 2023.03.22 |