'import 파일명' 으로 통해 . 으로 각 기능을 불러 올 수 있음.
여러 패키지와 모듈을 포함하는 코드 모음
NumPy 라이브러리
import numpy as np
import numpy를 가져옴
별칭으로 as : np
# ndarray 생성 : 첫번째 방법
# 시퀀스 데이터를 array롸로 형변환 하는 방법
# list 생성
list1 = [1,2,3,4,5]
# array 생성(형변환)
arr1 = np.array(list1)
type(arr1)
# ndarray 생성 : 첫번째 방법
# 직접 array화 시켜주는 방법
# array 생성
arr2 = np.array([1,2,3,4,5])
type(arr2)
# ndarray 생성 : 2차원
arr3 = np.array([[1,2,3],[4,5,6]])
# list 와 ndarray 의 차이 -> ndarray 는 다타원의 배열을 인식함 !
list3 = [[1,2,3],[4,5,6]]
print(arr3)
print(list3)
list3+list3 # list 는 배열을 연결(사칙연산 x )
arr3 ** arr3 # array 는 사칙연산 가능
# 배열의 차원 확인하기
# array 명, ndim
arr1.ndim # -> 1
arr3.ndim # -> 2
# 배열의 전체 요소개수 확인하기
# array명.size
# len() 와 .size 차이
# len() : 내장함수, 길이를 반환
# size : array의 모든 요소 개수를 반환
# 1차원 요소개수 확인
print(len(arr1)) # -> 5
print(arr1.size) # -> 5
# 2차원 요소개수 확인
print(len(arr3)) # -> 2
print(arr3.size) # -> 6
array명.dtype
데이터 타입을 직접 지정해서 배열 생성
list3 = [[1.7,4.2,3.6],[4.1,2.9,5.8]]
실수타입 -> 정수타입 변경
arr4 = np.array(list3, dtype = np.int64)
정수타입 -> 정수타입 변경
temp = arr4.astype(np.float64)
행과 열의 값이 맞게 떨어져야함 -> size가 같아야함.
array([[1., 4., 3.], [4., 2., 5.]])
array([[1, 4], [3, 4], [2, 5]])
모든 값 0으로 초기화
np.zeros((4,5))
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
모든 값 1로 초기화
np.ones((5,5))
array([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
원하는 값으로 배열 생성
np.full((5,5),10)
array([[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10],
[10, 10, 10, 10, 10]])
랜덤 값으로 배열 생성
arr_randint = np.random.randint(1, 10, size=(3,2) )
array([[8, 7],
[3, 2],
[8, 6]])
랜덤값으로 배열 생성 (0 ~ 1)
arr_rand = np.random.rand(5,5)
array([[0.12007379, 0.92903907, 0.78109664, 0.12871542, 0.69979169],
[0.01702009, 0.28202012, 0.23999712, 0.0135044 , 0.90971469],
[0.11468639, 0.31826651, 0.97481437, 0.46780991, 0.01594763],
[0.69047716, 0.57892797, 0.59778496, 0.84317878, 0.13287362],
[0.06143617, 0.52703934, 0.36261323, 0.12625558, 0.30333988]])
arr1[2]
arr1[3:8:2]
배열에 10의 값을 넣어주면 리스트는 인덱싱 값이 잘리고 array는 10의 값들이 들어 간다.
인덱싱 : [행값, 열값]
슬라이싱 : [행의 시작 값:행의 끝 값 , 열의 시작 값:열의 끝 값]
arr2=np.arange(1,51).reshape(5,10)