NUMPY

Numpy 란?

  • 다차원의 숫자 배열을 Python에서 효율적으로 처리 할 수 있도록 만들어진 라이브러리
  • 배열에 대한 처리에 특화된 라이브러리
  • 리스트나 튜플은 중첩이 가능하여 다차원 배열을 표현할 수도 있음
  • 대규모 처리에 리스트나 튜플을 사용하면 처리속도가 느림
  • 배열 연산이 빠름. 빠른 이유는 다차원 배열 객체인 NDARRAY를 기본 데이터 저장 포맷으로 사용하고 있기 때문

ndarray 란?

  • 다차원 배열 객체
  • ndarray 는 저장하고 있는 ‘데이터’와 ‘메타데이터’라 불리는 부가 정보로 구성
  • 데이터를 시스템상의 메모리에 빈틈없이 배치하여 속도가 빠름
  • 모든 배열은 shape 튜플, dtype 객체를 가짐

ndarray 생성 함수

  • array : 입력 데이터를 ndarray 타입으로 변환
  • asarray : 입력 데이터를 ndarray로 변환하지만 입력 데이터가 이미 ndarray인 경우 복사가 되지 않음
  • arange : 내장 range 함수와 유사하지만 리스트 대신 ndarray를 반환
  • ones, ones_like : 주어진 dtype과 주어진 모양을 가지는 배열을 생성하고 내용을 모두 1로 초기화 함 ones_like는 주어진 배열과 동일한 모양과 dtype을 가지는 배열을 새로 생성하여 내용을 모두 1로 초기화 함.
  • zero, zero_like : ones, ones_like 와 동일하고 내용을 모두 0으로 초기화 함
  • empty, empty_like : 메모리를 할당하여 새로운 배열을 생성하지만 ones나 zeros 처럼 값을 초기화 하지는 않음 *eye, identity : N * N 크기의 단위 행렬을 생성. 좌상단에서 우하단을 잇는 대각선은 1로 채워지고 나머지는 0으로 채움

Numpy 함수

  • dot : 행렬의 내적을 구함
  • sort : 정렬 함수
arr = np.random.randn(8)
arr.sort()
  • where : 조건절 표현
np.where(condition, 2, 3)

ndarray slicing

  • [:] : 배열 전체
  • [0:1] : 0번째부터 1번째까지, 1번은 미포함
  • [:5] : 0번째부터 5번째까지, 5번 미포함
  • [2:] : 2번째부터 끝까지
  • [-1] : 제일 끝에 있는 배열값 반환
  • [:-1] : 0번째부터 끝까지

유니버셜 함수

  • 배열의 모든 요서에 대해 요소마다 특정한 함수를 적용하여 리턴하는 기능.

array 1개에 적용되는 함수

  • abs : 절대값 계산
  • sqrt : 제곱근 계산
  • square : 제곱 계산
  • exp : 무리수 e의 지수로 삼은 값을 계산
  • log : 자연로그
  • sign : 부호 계산(+ : 1, – : -1, 0 : 0)
  • ceil : 소수 첫 번째 자리에서 올림
  • floor : 소수 첫 번째 자리에서 내림
  • isnan : NaN 인 경우 True
  • isinf : 무한대인 경우 True
  • cos, cosh, sin, sinh, tan, tanh : 삼각함수 계산

array 2개에 적용되는 함수

  • add : 동일한 위치의 성분끼리 더함
  • subtract : 동일한 위치의 성분끼리 뺌
  • multiply : 동일한 위치의 성분끼리 곱함
  • divide : 동일한 위치의 성분끼리 나눔
  • maximum : 동일한 위치의 성분끼리 비교 하여 각각의 최대값 반환
  • minimum : 동일한 위치의 성분끼리 비교 하여 각각의 최소값 반환

array 에 적용되는 통계 함수

  • sum : 배열에 대한 모든 원소의 합
  • mean : 산술평균
  • std : 표준 편차
  • var : 분산

배열 집합 연산

  • unique(x) : 배열 x 에서 중복된 원소를 제거한 후 정렬
  • intersect1d(x,y) 배열의 교집합
  • union1d(x,y) : 배열의 합집합
  • in1d(x,y) : x의 원소중 y의 원소를 포함하는지여부 (boolean 반환)
  • setdiff1d(x,y) : 배열의 차집합
  • setxor1d(x,y) : 대칭 차집합

난수 생성

  • seed : 난수 발생기 시드를 지정
  • permutation ; 순서를 임의로 변경하거나 임의의 순열 반환
  • shuffle : 순서 섞음
  • rand : 균등분포에서 표본을 추출
  • randn : 표준편차가 2이고 평균값이 0인 정규분호 에서 표본을 추출

댓글 남기기