데이터 및 C언어/Python 공부 내용

[Python] 파이썬 라이브러리 넘파이 공부하기(1)-배열생성

  • -
반응형

 

 

[Python] 파이썬 라이브러리 넘파이 공부하기(1)-배열생성.

 


    ∴ 공부 개요.

         : 파이썬의 라이브러리 중 복잡한 수치 계산(특히 배열 및 행렬}에 특화된 라이브러이니 넘파이는

            데이터를 요약하고 범주화하는 판다스와 함께 데이터를 처리해서 알고리즘을 돌리거나

             전처리를 통해 시각화를 하는 과정에 있어서 꼭 필요하기에 제대로 짚고 넘어가 보려고 합니다.

 

         : 라이브러리를 공부하는 것과 함께 분석 프로젝트도 함께 진행하면서 익히는 시간을 가지겠습니다. 

 

 

    ∴ 공부 순서

         ∇ Numpy 특징

         ∇ 배열 생성

         ∇ 배열 조회

         ∇ 배열 값 삽입/수정/삭제/복사

         ∇ 배열 변환

         ∇ 배열 연산

         ∇ 배열 정렬

         ∇ 배열 입출력

 


         ∇ Numpy 특징.

  •  Numerical Python의 약자
  • 고성능 과학 계산용 패키지로 강력한 N차원 배열 객체.
  • 범용적 데이터 처리에 사용 가능한 다차원 컨테이너
  • 정교한 브로드캐스팅 기능
  • 파이썬의 자료형 list와 비슷하지만, 더 빠르고 메모리를 효율적으로 관리
  • 반복문 없이 데이터 배열에 대한 처리를 지원하여 빠르고 편리.     
  • 데이터 패키지의 기본.

 

 

 

 


         ∇ 배열 생성

                   

넘파이의 배열 생성

          넘파이의 행렬(배열)은 np.array([])를 통해 만들어집니다 

 

     ∇ 리스트로 배열 만들기.

 

            √ 1차원 행렬(배열)

 

             √ 2차원 행렬(배열).

 

            √ 3차원 행렬(배열).

 

 

   

        ∇ 배열 생성 및 초기화.

                 

zeros/ ones/ full

배열의 값을 0 혹은 1 혹은 지정한 값으로 초기화 시킬때는 zeros/ones/ full을 사용해줍니다.

 

 

단위행렬[eye()]과 하삼각행렬[tri()]을 만드는법과,  빈배열[empty()]을 만드는 방법입니다. 

아직까지는 어디에 쓰이는지 감이 안잡히네요.

 

 

기존 배열의 모양은 비슷하게 가져오고 새로운 값으로 초기화 시키는 방법입니다.

np.~~~~_like(배열이름)으로 선언해줍니다.

 

 

 

 

    ∇ 생성한 값으로 배열 생성하기.

 

           - arange() : 정수 범위로 배열 생성

           - linspace() : 범위 내에서 균등 간격의 배열 생성

           - logspace() : 범위 내에서 균등간격으로 로그 스케일로 배열 생성

 

 

 

   

      ∇ 랜덤 값으로 배열 생성하기. (쓰읍...통계 개념 다시 잡아야겠네요)

               - Seed : 난수 생성기의 초기값을 설정하는데 사용되는 숫자입니다.

                               -> 동일한 시드를 사용하면, 항상 동일한 순서의 난수가 생성됩니다.

                                     -> 실험의 재현성을 확보하기 위해 사용합니다.

 

              - permutaion(순열) : 주어진 집합의 원소듣을 재배열하는 방법.

                                      -> 순서를 임의로 바꾸거나 임의의 순열을 반환합니다.

 

             - shuffle : 리스트나 배열의 순서를 무작위로 뒤섞는 기능입니다.

                      

              - np.random : 랜덤한 수의 배열을 생성합니다.

 

              - np.random.rand() : 균등분포( 0과 1사이의 균일 분포)에서 랜덤한 float값으로 배열을 생성합니다.

              - np.random.randn() : 표준 정규 분포(평균 0 , 표준편차 1)에서 랜덤한 float 값으로 배열 생성합니다.

              - np.randint() : 지정된 (최대/최소)범위 내의 랜덤한 정수로 배열 생성합니다.

              - np.random.binomial() : 이항분포에서 표본을 추출합니다.

              - np.random.normal() : 정규분포(가우시안분포)에서 랜덤한 float값으로 배열을 생성합니다.

              - np.random.beta() : 배타분포에서 표본 추출

              - np.random.chisquare() : 카이제곱분포에서 표본을 추출합니다.

              - np.random.gamma() : 감마분포에서 표본을 추출합니다

              - np.random.choice() : 주어진 1차원배열에서 랜덤하게 샘플링하게 새로운 배열을 생성합니다.

              - np.random.uniform():지정된 범위 내에서 균일 분포의 랜덤 float값으로 배열을 생성합니다.

 


 

 

     ∇ 표준 데이터 타입.

     

 

 

 

 

 

     ∇ 날짜/시간 배열 생성

             dtype=np.datetime64

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.