[Numpy] 넘파이는?

밍키·2020년 8월 4일
2

파이 파이 넘파이

목록 보기
1/6

넘파이의 데이터 구조, 그리고 용어 잘 봐두기.

1 넘파이는?

  • http://www.numpy.org
  • Numerical Python
  • 고성능 과학연산을 위한 패키지로 데이터분석, 머신러닝등에 필수로 사용된다.
  • 강력한 다차원 배열(array) 지원
  • 벡터 연산 지원
  • 다양한 수학관련 함수
  • 선형대수, 난수 생성, 푸리에 변환 기능 지원

1.1 넘파이의 데이터 구조

  • 스칼라 (Scalar)
    • 하나의 숫자로 이루어진 데이터
  • 벡터 (Vector)
    • 여러개의 숫자들을 특정한 순서대로 모아놓은 데이터 모음(데이터 레코드)
    • 1D Array (1차원 배열)
  • 행렬 (Matrix)
    • 벡터들을 모아놓은 데이터 집합
    • 2D Array (2차원 배열)
  • 텐서 (Tensor)
    • 같은 크기의 행렬들(텐서들)을 모아놓은 데이터 집합
    • ND Array (다차원 배열)

1.1.1 벡터는?

  • 크기
  • 방향 : 방향이 있다는 것은 결국 순서가 있다. 같은 숫자가 들어가 있어도 다르다.
[1, 2, 3]
---------># 1차원

['사과', '귤', '배']

[
[3, 2, 1], ^
[5, 1, 3], |[3, 7, 2], |
]
---------># 축 내지 차원.
# 2차원 디멘션 2D

1.2 넘파이 용어

  • 축 (axis)
    • 값들의 나열 방향
    • 하나의 축(axis)는 하나의 범주(Category)이다.
  • 랭크(rank)
    • 데이터 집합에서 축의 개수.
  • 형태/형상(shape)
    • 각 축(axis) 별 데이터의 개수
  • 크기(size)
    • 배열내 원소의 총 개수

1.2.1 예시

[
    [
        [0, 0, 0],
        [0, 0, 0]
    ],
    [
        [0, 0, 0],
        [0, 0, 0]
    ]
]

밖에 있는 것부터 센다.

2, 2, 3
총 데이터 갯수는 12개
축이 헷갈릴 수 있다. 특히 3차원이상

2 넘파이 배열 (ndarray)

  • Numpy에서 제공하는 N 차원 배열 객체
  • 같은 타입의 값들만 가질 수 있다.
  • 빠르고 메모리를 효율적으로 사용하며 벡터 연산과 브로드캐스팅 기능을 제공한다.
    • 행렬 간의 연산

2.1 차원 (dimension)

  • Vector에서 차원 : 원소의 개수
  • 넘파이 배열에서 차원 : 축의 개수

2.2 넘파이 배열 데이터 타입

  • 원소들의 데이터 타입
  • ndarray 는 같은 타입의 데이터만 모아서 관리한다.
  • 배열 생성시 dtype 속성을 이용해 데이터 타입 설정 가능
  • ndarray.dtype 속성을 이용해 조회
  • ndarray.astype(데이터타입)
    • 데이터타입 변환하는 메소드
    • 변환한 새로운 ndarray객체를 반환
    • 원본이 바뀌지는 않는다. 변수에 넣어서 사용해야함.
  • 타입 지정
    • 문자열로 지정
      • 'int', 'int64', 'float'
    • numpy에 각 타입이 변수로 제공됨
      • numpy.int, numpy.int64, numpy.float
profile
대한민국 4차 산업의 역군을 꿈꾸며.

0개의 댓글