01. 넘파이 배열

성준혁·2023년 1월 27일
0

Numpy

목록 보기
2/4

Intro.

  • NumPy 공식 설명서의 내용을 따라가면서 넘파이 기본기를 익혀보자.
  • Anaconda 또는 Colab을 쓰면 내장되어 있지만, 굳이 따로 설치한다면 conda 추천함.

1. 파이썬 list와 넘파이 array의 차이

  • Python의 리스트는 다양한 데이터 타입을 포함할 수 있지만,
    🆚 NumPy 배열은 그 속의 모든 요소가 같은 타입이어야 함!!

2. 넘파이 배열의 특징

  • 1차원 배열(행 벡터와 열 벡터 간에 차이 없음)은 vector, 2차원 배열은 matrix, 3차원 이상의 배열은 tensor라고 부름.
  • ⭐NumPy에서는 '차원'을 '축'이라고 함! (ex. 아래처럼 2차원 배열은 곧 축이 2개인 것이고, 첫째 축의 길이는 2, 둘째 축의 길이는 3임.)
  • 넘파이 배열은 가장 기본적으로 np.array()에 리스트를 전달하여 생성할 수 있음.
    (❗2차원 이상일 때는 이중 리스트 사용해야 함❗)
  • a[0] : 대괄호를 사용하여 넘파이 배열의 요소에 접근할 수 있음

3. 넘파이 배열 만들기 (기본)

아까 말했던 np.array() 외에도 다양한 방법으로 기본적인 넘파이 배열을 만들 수 있음

① np.array()

  • 앞에서 설명했던 가장 기본적인 방법.

② np.zeros()

  • 입력한 shape의 배열을 0으로 초기화해서 출력함.

③ np.ones()

  • 입력한 shape의 배열을 1로 초기화해서 출력함.

④ np.empty()

  • 입력한 shape의 배열을 무작위(=초기화되지 않은 값)로 채워서 출력함.
    ➕ 근데 메모리도 초기화되지 않기 때문에 예상하지 못한 쓰레기 값이 들어가 있을 수 있다고 함. + 실무에서 거의 안 쓴다고 함.

⑤ np.arange()

  • 입력한 (start, stop, step)의 조건대로 배열을 출력함.

⑥ np.linspace()

  • 지정된 범위 내에서 균일한 간격(=linear)을 갖는 값들로 배열을 출력함.


🤔 Hmmmm...

np.empty()는 처음 봐서 제대로 이해한 건지 모르겠다. 메모리가 초기화되지 않았다는 뜻이, 이전에 만들었던 배열에서 가져올 수도 있다는 걸로 이해해도 되려나...?

🤓 To wrap up...

  • 넘파이 배열은 구성요소가 다 같은 타입이어야 함!
  • 넘파이에선 '차원'을 '축'이라고 부름!
profile
생각은 그만

0개의 댓글