IT's 2 EG
numpy 사용법 기초 본문
Numpy 라이브러리¶
Numpy란?¶
- 행렬이나 일반적으로 대규모 다차원 배열을 쉽게 처리 할 수 있도록 지원하는 파이썬 라이브러리
- NumPy는 데이터 구조 외에도 수치 계산을 위해 효율적으로 구현된 기능을 제공
In [1]:
# Numpy 라이브러리 불러오기
import numpy as np
array 생성¶
In [2]:
arr1 = np.array([1,2,3])
arr1
Out[2]:
In [3]:
arr2 = np.array([4,5,6])
arr2
Out[3]:
array 연산¶
In [4]:
arr1 + arr2 # 합
Out[4]:
In [5]:
arr1 - arr2 # 차
Out[5]:
In [6]:
arr1 * arr2 #곱(각 원소의 곱을 표시)
Out[6]:
In [7]:
arr1 / arr2
Out[7]:
array 붙이기¶
In [8]:
# array 좌우로 붙이기
arr3 = np.r_[arr1, arr2]
arr3 = np.hstack([arr1, arr2])
arr3 = np.concatenate((arr1, arr2))
arr3
Out[8]:
In [9]:
# array 위아래로 붙이기
arr4 = np.r_[[arr1],[arr2]]
arr4 = np.vstack([arr1, arr2])
arr4
Out[9]:
arr 구조 확인¶
In [10]:
# 배열의 구조 확인
print(arr3.shape)
print(arr4.shape)
In [11]:
# 배열의 데이터타입 확인
print(arr3.dtype)
기타 배열 정의 함수¶
In [12]:
# 원소가 0으로 이루어진 배열 생성
print(np.zeros(10))
print(np.zeros([3,2]))
In [13]:
# 원소가 1로 이루어진 배열 생성
print(np.ones(10))
print(np.ones([2,3]))
In [14]:
# 원소가 순차적인 값을 가진 배열 구성
print(np.arange(10)) # 0이상 10미만의 원소들의 배열
print(np.arange(3,10)) # 3이상 10미만의 원소들의 배열
print(np.arange(3, 10, 2)) #3부터 10미만의 2씩 간격을 가진 배열
In [15]:
# 대값이 0이고, 표준편차가 1인 가우시안 정규 분포를 따르는 난수를 발생시키는 함수
np.random.randn(3, 3)
Out[15]:
Array 인덱싱¶
In [16]:
# 1차원 array 인덱싱
print(arr3)
print(arr3[3]) # arr3의 4번째 원소
print(arr3[3:]) # arr3의 4번 이상의 원소
print(arr3[:3]) # arr3의 4번 전까지의 원소
In [17]:
# 2차원 array 인덱싱
print(arr4)
print(arr4[0,0]) # arr4의 1행 1열의 원소
print(arr4[1,2]) # arr4의 2행 3열의 원소
print(arr4[:, :2]) # arr4의 모든행 2열까지 원소
numpy 함수¶
In [18]:
arr = np.array([[-1,2,3], [4,-5,6], [7,8,-9]])
arr
Out[18]:
In [19]:
# 절댓값
np.abs(arr)
Out[19]:
In [20]:
# 제곱근
np.sqrt(abs(arr))
Out[20]:
In [21]:
# 제곱
np.square(arr)
Out[21]:
In [22]:
# 로그
np.log10(abs(arr))
Out[22]:
In [23]:
# 부호 (-1은 음수, 1은 양수)
np.sign(arr)
Out[23]:
In [24]:
# 소수접 첫째 자리에서 올림
arr5 = np.random.randn(3,3)
print(arr5)
print(np.ceil(arr5))
In [25]:
# 원소가 NaN인것을 확인 (NaN 이면 True, 아니면 False)
np.isnan(np.log(arr))
Out[25]:
In [26]:
# 합
print(arr)
print(np.sum(arr)) # 모든 원소의 합
print(np.sum(arr, axis=0)) # 각 열의 원소들의 합
print(np.sum(arr, axis=1)) # 각 행의 원소들의 합
In [27]:
# 통계
print(np.mean(arr)) # 평균
print(np.var(arr)) # 분산
print(np.std(arr)) # 표준편차
print(np.max(arr)) # 최대값
print(np.min(arr)) # 최소값
'Data Scientist > Python 라이브러리 기초 사용법' 카테고리의 다른 글
유용한 라이브러리 (0) | 2021.07.13 |
---|
Comments