Chapter 06 통계와 수학적 기능을 위한 Numpy

Ruinak·2021년 8월 14일
0

BigData

목록 보기
6/7

Numpy의 기초

Numpy 배열

  • Numpy의 zeros( )라는 메서드는 괄호 안에 입력된 숫자만큼의 원소를 생성하고 0으로 초기화하는 기능을 제공합니다.
  • 한 쌍의 괄호 [ ] 안에 숫자가 1개이면 벡터(1차원)를, 두 쌍의 괄호 안에 숫자가 2개이면 행렬(2차원)을 생성합니다.
  • 2차원 이상일 때는 두 쌍의 괄호가 필요합니다.
  • 파이썬에서는 리스트와 같은 배열에 저장된 값들에 대해 다양한 수학적 기능을 제공해주고 있지 않기 때문에 이러한 기능들을 사용하려면 일일이 함수로 정의해주어야 하는 번거로움이 있습니다.
  • 위의 명령문과 같이 리스트 x에 저장된 1, 3, 5에 대해 평균값(mean)을 구해주는 기능은 없습니다.
  • 파이썬에서 이러한 수학적인 기능들을 제공하는 특별한 모듈을 가지고 오면 직접 함수로 정의하지 않아도 사용이 가능합니다.
  • Numpy가 대표적인 모듈이며 통계나 수학적인 계산이 가능한 기능들을 제공하고 있습니다.
  • Numpy에서 제공해주는 배열을 이용하면 배열에 저장된 원소들의 mean 값을 계산해줍니다.
  • shape는 해당 클래스에서 제공해주는 속성(attribute)입니다.
  • 1차원 배열로 3개의 원소가 있다는 결과가 나옵니다.
  • shape는 함수가 아니고 Numpy 배열의 객체가 지원해주는 속성이므로 mean( ) 메서드와 같이 괄호를 사용해서는 안됩니다.
  • numpy 형식으로 배열의 원소를 입력할 때는 반드시 리스트 형식으로 입력해야 합니다.
  • reshape( ) 메서드를 추가하면 위와 같이 Numpy의 2차원 배열을 원하는 모양으로 생성할 수 있습니다.
  • Numpy 형식의 2차원 배열을 1의 값들로 채우려면 위와 같이 실행하면 됩니다.

예제 6-1

Numpy 배열의 슬라이싱

  • Numpy에서는 각각의 원소의 특정 인데스 위치에 일괄적으로 접근이 가능하도록 설계가 되어 있습니다.
  • 위의 np_ary[:, 1]는 모든 2차원 배열 원소의 1번 인덱스만 출력하라는 의미입니다.
  • Numpy로 변환해주기 전에 슬라이스를 하면 에러가 발생합니다.
  • np.array( )로 변환해 주기 전에 'list1[:, 1]에서 문제가 발생해서 에러가 발생합니다.
  • 먼저 리스트를 Numpy 형식으로 수정한 후 적용하면 해결이 됩니다.

예제 6-2

Numpy를 이용한 연산

  • 파이썬에서 제공하는 math 모듈은 기본적인 수학적 기능을 제공합니다.
  • math 모듈에서 제공해주는 sqrt( ) 함수는 성공적으로 동작합니다.
  • 파이썬에서 제공해주는 math 모듈로는 리스트에서 제곱근을 구하는 기능을 수행할 수 없기 때문에 Numpy의 다양한 수학적이거나 통계적인 기능을 활용하면 편리합니다.
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글