Numerical Python - Numpy
학습 목표
이번 강의에서는 파이썬의 과학 계산용 패키지인 numpy 의 여러 특징과 기능, 코드를 작성하는 방법 등을 배웁니다.
- numpy
- ndarray
- Handling shape
- Indexing
- Slicing (이 글 범위)
- Creation function
- Operation functions
- array operations
- Comparisons
- Boolean Index
- Fancy Index
- numpy data i/o
강의 영상
Numerial Python - numpy
Data handling section
https://blog.naver.com/boostcamp_official/222345119688
https://www.boostcourse.org/ai100/lecture/739178?isDesc=false
Handling shape
reshape
- Array의 shape의 크기를 변경함 (element의 갯수는 동일)
(2,4) -> (8,)
test_matrix = [[1,2,3,4],[1,2,5,8]]
np.array(test_matrix).shape
(2,4)
np.array(test_matrix).reshape(8,)
array([1,2,3,4,1,2,5,8])
np.arrary(test_matrix).reshape(8,).shape
(8,)
reshape
- Array의 size만 같다면 다차원으로 자유로이 변형가능
np.array(test_matrix).reshape(-1,2).shape
-1: size를 기반으로 row 개수 선정
flatten
- 다차원 array를 1차원 array로 변환
test_matrix = [[[], []], [[], []]]
np.array(test_matrix).flatten()
array([])
Indexing & slicing
indexing
a = np.array([[1, 2, 3], [4.5, 5, 6]], int)
print(a)
print(a[0,0]) # Two dimensional array representation #1
print(a[0][0]) # Two dimensional array representation #2
a[0,0] = 12 # Matrix 0,0 에 12 할당
print(a)
a[0][0] = 5 # Matrix 0,0 에 12 할당
print(a)
- List와 달리 이차원 배열에서 [0,0] 과 같은 표기법을 제공함
([0][0] 뿐만 아니라 [0,0]도 같은 의미)
- Matrix 일경우 앞은 row 뒤는 column을 의미함
마찬가지로 인덱스에 접근해 값을 할당할 수 있다.
slicing
a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]], int)
a[:,2:] # 전체 Row의 2열 이상
a[1,1:3] # 1 Row의 1열 ~ 2열
a[1:3] # 1 Row ~ 2Row의 전체
- List와 달리 행과 열 부분을 나눠서 slicing이 가능함
- Matrix의 부분 집합을 추출할 때 유용함
slicing
Row - 0~1 까지
column - 전체
test_example = np.array([[1,2,3,4,5], [6,7,8,9,10]], int)
test_example[:,2:] # 전체 row의 2열 이상
array([[3,4,5], [8,9,10]])
test_example[1,1:3] # 1 row의 1열~2열
array([7,8])
test_example[1:3] # 1 row~2row 전체
array([[6,7,8,9,10]])
https://www.slideshare.net/PyData/introduction-to-numpy
'머신러닝,딥러닝 > numpy 강의&프리코스' 카테고리의 다른 글
pandas 판다스 dataframe에서 원하는 칼럼만 사용하기 (0) | 2022.08.20 |
---|---|
week_0 pandas 작업하면서 참고한 사이트 (0) | 2022.07.18 |
week_0 pandas 공부하면서 해결한 문제 몇 가지 (0) | 2022.07.18 |
starting conda & jupyter notebook on mac (0) | 2021.12.07 |
numpy 필기 끝 8. boolean 9. fancy index 10. data i/o (0) | 2021.06.14 |
numpy 8. array op 9. comparisons (0) | 2021.06.14 |
numpy 필기 6. creation 7. operation functions (0) | 2021.06.14 |
numpy 공부 필기 1. numpy 2. ndarray (0) | 2021.06.14 |