머신러닝,딥러닝/numpy 강의&프리코스

numpy 공부 필기 3. handling space 4. index 5. slice

mcdn 2021. 6. 14. 16:53
반응형

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

 

부스트캠프 AI Tech 2기 자가 진단 문항

부스트캠프 AI Tech 2기 자가 진단! Do you have a DNA of AI engineer? 지금, AI 엔지니어의 ...

blog.naver.com

https://www.boostcourse.org/ai100/lecture/739178?isDesc=false 

 

[AI Tech Pre-course] 인공지능(AI) 기초 다지기

부스트코스 무료 강의

www.boostcourse.org

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

 

 

 

 

 

 

 

반응형