ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Numpy 모듈 (2. Numpy배열 생성하기)
    Python/Python 2020. 1. 20. 18:26
    반응형

    Python 에 고정적인 배열로는 Array 라는 배열이 존재한다 .

     

    import array
    
    L= list(range(10))
    A = array.array('i' ,L)
    A

     

    여기서 i 는 내용이 정수임을 가리키는 타입 코드이다.

    그러나 훨씬 더 유용한것은 Numpy 패키지의 ndarray 객체다 파이썬의 array 객체는 배열 기반의 데이터에 효율적인 저장소를 제공하는 반면 NumPy는 그 데이터에 효율적인 연산을 추가한다 이러한 연산에 대해서는 차후 게시글로 기제할것이고 이번 게시물에서는 NumPy 배열을 생성하는 여러한 벙법을 살펴 볼것이다. 

     

    import numpy as np

    일단 numpy 모듈을 import 해주고  as np  << np 라고 부를것이다.

     

     

    import numpy as np
    np.array([1,2,3,4,5])

    일단 리스트와는 다르게 모든 배열을 한 가지에 타입으로 정의해야한다. 

    그렇지 않고 정수와 부동소수점을 삽입하면은 

    정수 뒤에 . << float 형으로 변환된것을 확인할수 있다. 

     

     

    명시적으로 결과 배열의 데이터 타입을 설정하려면 dtype 키워드를 사용하면된다. 

    파이썬 리스트와는 달리 Numpy 배열은 명시적으로 다차원이 가능하다. 다음은 리스트의 리스트를 사용해서 다차원 배열울 초기화 화 하는 한가지 방법이다 .

     

    np.array([range(i,i+3) for i in [2,4,6]])

    내부 리스트는 결과로 얻은 이차원 배열의 행으로 취급된다. 

     

    특히 규모가 큰 배열의 경우에는 Numpy에 내장된 루틴을 사용해 처음부터 배열을 생성하는 것이 더 효율적이다.

    # 0으로 채운 길이 10의 정수 배열 만들기
    #np.zeros(갯수, 타입) 
    np.zeros(10,dtype=int)

     

    #1로 채운 3x5 배열 부동 소수점 배열 만들기 
    np.ones((3,5) , dtype=float)

     

     

     

    # 3x5 배열 로 3.14로 꽉채운 배열 만들기 
    np.full((3,5) , 3.14)

     

     

    #선형수열로 채운배열만들기
    # 0 에서 시작해 2씩 더해 20까지 채움
    #(내장 함수인 range() 와 유사함 )
    np.arange(0,20,2)

     

     

    # 0 과 1사이에 일정한 간격을 가진 다섯개의 값으로 채운 배열 만들기
    np.linspace(0,1,5)

    #균등한 분포된 3X3 배열 만들기
    #0 과 1사이의 난수로 채움
    np.random.random((3,3))

    #정규 분포 (평균 = 5 표준 편차= 1 )의 난수로 채운 3x3 배열 만들기
    np.random.normal(5,1,(3,3))

    # [0,10] 구간의 임의의 정수로 채운 3x3 배열 만들기 
    np.random.randint(0,10,(3,3))

    # 3x3 단위 행렬 만들기
    np.eye(3)

    #세 개의 정수를 가지는 초기화되지 않은 배열 만들기
    #값은 해당 메모리 위치에 이미 존재하고 있는 값으로 채움
    np.empty(3)

     Numpy 모듈 에서 np.함수를 사용해서 배열을 만드는 여러가지 방법을 나열 함 

    반응형

    댓글

Designed by Tistory.