ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NumPy 포함한 파일 입력 및 출력
    IT의 이해 2019. 11. 12. 03:34

    전달된 어레이는 동일한 크기 또는 스칼러를 초과할 수 있다. 좀 더 영리하게 논리적으로 표현할 수 있는 곳을 사용할 수 있다. cond1과 cond2라는 두 개의 부울 배열이 있는 경우, 가능한 4쌍의 부울 값 각각에 대해 다른 값을 할당하고자 하는 경우를 생각해 보자. 즉시 명확하지는 않지만, 루프용 이 값은 다음과 같은 표현이 있는 내포형으로 변환될 수 있다.

     

    수학 및 통계적 방법
    전체 배열 또는 축을 따라 데이터에 대한 통계를 계산하는 일련의 수학 함수는 배열 방법으로 접근할 수 있다. 총합, 평균 및 표준 편차 std와 같은 집계를 어레이 인스턴스 방법을 호출하거나 최상위 수준 NumPy 함수를 사용하여 사용할 수 있다. 평균과 합과 같은 함수는 주어진 축에 대한 통계량을 계산하는 선택적 축 인수를 사용하여 하나의 치수가 더 적은 배열을 만든다. cumsum 및 cumprod와 같은 다른 방법은 집계되지 않고 대신 중간 결과의 배열을 생성한다. 상기 방법에서 부울 값은 1(참)과 0(거짓)으로 강제된다. 따라서 합은 종종 부울 배열에서 참 값을 세는 수단으로 사용된다. 부울 어레이에 특히 유용한 두 가지 방법이 있다. 모든 값이 True인지 여부를 테스트하는 동안 모든 값이 True인지 확인해야 된다. Python의 기본 제공 목록 유형과 마찬가지로 NumPy 어레이도 정렬 방법을 사용하여 인플레이스 방식으로 정렬할 수 있다. 다차원 배열은 축 번호를 전달하여 축을 따라 값의 각 1D 섹션을 배치하여 정렬할 수 있다. 최상위 수준 방법 np.sort는 어레이를 제자리에 수정하는 대신 정렬된 어레이 복사본을 반환한다. 한 싸게 만들 수 있는 방법은 배열의 분위수를 계산하여 특정 계급에서 값 선택할 수 있는 있다.

    고유 및 기타 세트 로직
    NumPy는 1차원 ndarray를 위한 몇 가지 기본 설정 작업을 가지고 있다. 가장 일반적으로 사용되는 값은 np.unique이며, 이는 배열에서 정렬된 고유 값을 반환한다.

     

    어레이를 포함한 파일 입력 및 출력
    NumPy는 텍스트 또는 이진 형식으로 디스크에서 데이터를 저장하고 디스크로 로드할 수 있다. 뒷 장에서는 판다의 표 데이터를 메모리에 읽기 위한 도구에 대해 배우게 될 것이다. Disk에 어레이를 이진 형식 np.save와 np.load로 저장하면 Disk에 어레이 데이터를 효율적으로 저장하고 로드할 수 있는 두 가지 Workhar 기능이다. 어레이는 기본적으로 압축되지 않은 원시 이진 형식으로 파일 확장자 .npy로 저장된다.

     

    텍스트 파일 저장 및 로드
    파일에서 텍스트를 로드하는 것은 상당히 표준적인 작업이다. 파이썬의 파일 읽기 및 쓰기 기능의 풍경은 신참자에게는 다소 혼란스러울 수 있으므로 주로 팬더의 read_csv와 read_table 기능에 초점을 맞추겠다. 때로는 np.loadtxt 또는 보다 전문화된 np.genfromtxt를 사용하여 데이터를 바닐라 NumPy 어레이에 로드하는 것이 유용할 것이다. 이러한 기능에는 여러 가지 구분 기호, 특정 열에 대한 변환기 기능, 행 건너뛰기 및 기타 사항을 지정할 수 있는 옵션이 많이 있다. 다음과 같은 CSV의 간단한 사례를 들어보시길 바란다.행렬 곱셈, 분해, 결정인자 및 기타 제곱 행렬 산술과 같은 선형 대수학은 배열 라이브러리의 중요한 부분이다. MATLAB와 같은 일부 언어와 달리 2차원 어레이에를 곱하는 것은 매트릭스 닷 제품 대신 요소별 제품이다. 이와 같이, 두 배열이 모두 함수 점이 있다. numpy.linalg는 표준 매트릭스 분해와 역 및 결정인자와 같은 것들을 가지고 있다. 이러한 라이브러리는 BLAS, LAPACK 또는 Intel MKL과 같은 다른 언어에서 사용되는 업계 표준 Fortran 라이브러리를 사용하여 후드 아래에서 구현된다.

    랜덤 번호 세대
    numpy.random 모듈은 다양한 종류의 확률 분포에서 표본 값의 전체 배열을 효율적으로 생성하기 위한 기능으로 내장 Python 랜덤을 보완한다. 예를 들어, 정규 분포를 사용하여 표준 정규 분포를 통해 4 X 4 표본 배열을 얻을 수 있다.
    대조적으로 한번에 파이썬의 내장된 무작위 모듈만 샘플 하나의 값. 이 벤치마크에서 볼 수 있듯이, numpy.random은 매우 큰 샘플을 생성하기 위해 훨씬 더 빠른 속도를 보인다. 어레이 운영 활용 사례의 적용은 랜덤 워크 시뮬레이션에 있다. 먼저 동일한 확률로 발생하는 1단계와 -1단계부터 간단한 랜덤 도보를 고려해 보자. 기본 제공 랜덤 모듈을 사용하여 1,000단계의 단일 랜덤 워크를 구현하는 순수한 Python 방법이다. 당신은 걷기가 단순히 임의의 단계의 누적합이고 배열 표현으로 평가될 수 있다는 관찰을 할 수 있을 것이다. 따라서, 나는 np.random 모듈을 사용하여 한 번에 1,000개의 동전 플립을 그린 다음, 이를 1과 -1로 설정하고 누적 합계를 계산한다.  좀 더 복잡한 통계는 첫 번째 교차 시간, 즉 임의의 걸음걸이가 특정 값에 도달하는 단계다. 여기서 우리는 어느 방향에서든 출발지 0에서 최소한 10보 정도 떨어진 곳에 도달하는 데 무작위 산책 시간이 얼마나 걸렸는지 알고 싶을 것이다.  우리에게 워크가 10을 초과했거나 도달한 위치를 나타내는 부울 배열을 제공하지만, 우리는 첫 번째 10 또는 -10의 지수를 원한다. 이 계산은 argmax를 사용하여 계산할 수 있으며, argmax는 부울 배열에서 최대값의 첫 번째 인덱스를 반환한다.

     

     

    'IT의 이해' 카테고리의 다른 글

    DataFrame의 구성  (0) 2019.11.12
    NumPy 중심 어플리케이션 응용  (0) 2019.11.12
    ndarray 데이터 유형  (0) 2019.11.12
    친화적인 IPython 개발  (0) 2019.11.12
    IPython HTML 이해  (0) 2019.11.12

    댓글

Designed by Tistory.