1. Numpy (Numerical Python)
2. Numpy로 배열 생성
3. 배열의 데이터 타입 : dypte
4. ndarray의 차원 관련 속셩 : ndim & shape
5. Indexing & Slicing
1. Numpy(Numerical Python)
Python에서 대규모 다차원 배열을 다룰 수 있게 도와주는 라이브러리
특징
1. 데이터 대부분을 숫자 배열로 확인 가능
2. 반복문 없이 배열 처리 가능 - 파이썬 리스트에 비해, 빠른 연산을 지원하고 메모리를 효율적으로 사용
pandas, Metplotlib와 같은 비슷한 라이브러리가 있음.
2. Numpy로 배열 생성
리스트는 콤마로 구분하지만, Numpy의 array 함수로 생성 시 공백으루 구분함.
import numpy as np
np_arr = np.array(range(5))
print(np_arr) # [0 1 2 3 4] -> 공백으로 구분
print(type(np_arr)) # <class 'numpy.ndarray'> n-dimensional array(n차원의 배열)
3. 배열의 데이터 타입 : dypte
배열은 리스트와는 달리 같은 데이터 타입만 저장 가능하다.
arr = np.array([0, 1, 2, 3, 4], dtype=float)
print(arr) # [0. 1. 2. 3. 4.], 실수 형태
print(arr.dtype) # 'float'
print(arr.astype(int)) # [0 1 2 3 4], astype = 다른 데이터 타입으로 바꾸기
dtype | 설명 | 다양한 표현 |
int | 정수형 타입 | i, int_, int32, int64(=i8) |
float | 실수형 타입 | f, float_, float32, float64(=f8) |
str | 문자열 타입 | str, U, U32 |
bool | 부울 타입 | ?, bool_ |
4. ndarray의 차원 관련 속셩 : ndim & shape
ndim은 n-dimension의 약자로, 몇 차원인지 확인할 때 쓰인다.
shape는 행과 열의 갯수를 알아낼 때 쓰이고, 1차원 배열이면 열의 갯수가 없으므로, 공란이다.
list = [[0, 1, 2], [3, 4, 5]]
arr = np.array(list)
print(arr.ndim) # 2 / ndim(n-dimension) = 몇 차원인지 알아낼 때 쓰임
print(arr.shape) # (2, 3) / shape = 행과 열의 갯수를 표현(만약 1차원이라면 열이 존재하지 않으므로 공란임)
arr = np.array([0, 1, 2, 3, 4, 5])
print("arr.snape : {}".format(arr.shape)) # arr.shape : (6, )
print("배열 요소의 수 : {}".format(arr.size)) # 배열 요소의 수 : 6
print("배열의 길이 : {}".format(len(arr))) # 배열의 길이(행의 갯수) : 6
arr.shape = 3, 2
print("arr.snape : {}".format(arr.shape)) # arr.shape : (3, 2)
print("배열 요소의 수 : {}".format(arr.size)) # 배열 요소의 수 : 6
print("배열의 길이 : {}".format(len(arr))) # 배열의 길이(행의 갯수) : 3
5. Indexing & Slicing
배열의 인덱스를 활용하여 값을 찾아내거나 배열의 일부부을 가져오는 것.
import numpy as np
matrix = np.arange(1, 13, 1).reshape(3, 4)
print(matrix)
# 1. Indexing을 통해 값 2를 출력해보세요.
answer1 = matrix[0,1] # indexing
# 2. Slicing을 통해 매트릭스 일부인 9, 10을 가져와 출력해보세요.
answer2 = matrix[2, 0:2] # 0:2와 같이 :로 구분하는 것을 slicing 이라고 함.
# 3. Boolean indexing을 통해 5보다 작은 수를 찾아 출력해보세요.
answer3 = matrix[matrix < 5]
# 4. Fancy indexing을 통해 두 번째 행만 추출하여 출력해보세요.
answer4 = matrix[[1]]
# 위에서 구한 정답을 출력해봅시다.
print(answer1)
print(answer2)
print(answer3)
print(answer4)
공부한 사이트
https://ewx-corps.elice.io/courses/79159/lectures/640836/lecturepages/7136440
엘리스: 코딩, 엘리스에서 시작하세요!.
실습중심 온라인 코딩교육, 엘리스! 개인 및 기업 디지털 트랜스포메이션(DT) 교육, 대학 데이터 사이언스 교육은 엘리스로 시작하세요.
ewx-corps.elice.io
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 기본 명령어2 (0) | 2023.12.31 |
---|---|
(Dreamhack) SQL Injection 공격 코드 분석(패스워드 길이 파악) (2) | 2023.01.08 |
파이썬 기본 명령어1 (0) | 2021.11.22 |