Python의 NumPy 모듈 소개

이 게시물은 Python에서 NumPy를 시작하기 위한 소개 문서를 제공합니다.

# numpy를 이 파이썬 스크립트로 
가져오기 import numpy 
# 목록을 만들고 파이썬 기본 라이브러리에 추가 
a = [1,2,3] 
b = [1,2,3] 
a+b
[1, 2, 3, 1, 2, 3]
# numpy로 배열 선언 
a_np = numpy.array([1,2,3]) 
# 배열의 유형을 확인하여 배열이 numpy 배열인지 확인 
type(a_np)
numpy.ndarray
# numpy 배열에는 .dtype 속성이 있어 a_np.dtype 배열의 numpy 데이터 유형을 확인할 수 있습니다 
.
dtype('int32')
# a_np는 정수 유형입니다. 
float a_np[0] = 13.33 
a_np 를 할당하려고 합니다.
배열([13, ​​2, 3])
# numpy 배열에는 .ndim 속성이 있어 a_np.ndim 배열의 차원 수를 볼 수 있습니다 
.
1
# numpy 배열에는 .size 속성도 있습니다. 
# .size는 배열 
a_np.size 에 포함된 요소의 수를 볼 수 있도록 합니다.
# numpy 배열을 사용할 때 수학이 요소별로 가능해짐 
# -- 일부 요소별 수학 연산을 테스트하기 위해 두 번째 numpy 배열 생성 
b_np = numpy.array([2,3,4]) 
# 추가 
a_np + b_np
배열([11, -1, -1])
# 빼기 
a_np - b_np
배열([11, -1, -1])
# 곱셈 
a_np * b_np
배열([26, 6, 12])
# 다른 하나의 거듭 
제곱 a_np ** b_np
배열([169, 8, 81], dtype=int32)
# 
나눗셈 a_np / b_np
배열([6.5 , 0.66666667, 0.75 ])
# 모듈로; a_np 모듈로 2 테스트 a_np 
% numpy.array([2,2,2])
배열([1, 0, 1], dtype=int32)
# 모듈로; b_np 모듈로 2 테스트 b_np 
% numpy.array([2,2,2])
배열([0, 1, 0], dtype=int32)
# numpy는 "범용 함수" 사용을 허용합니다. 
# 범용 함수는 numpy 배열로 요소별로 작동합니다 
. # 한 가지 예는 .sin입니다. 
numpy.sin(a_np)
배열([0.42016704, 0.90929743, 0.14112001])
# 또 다른 예는 .sqrt 
numpy.sqrt(a_np)
배열([3.60555128, 1.41421356, 1.73205081])
# numpy를 사용하여 2D 데이터 테이블 
만들기 c_np = numpy.array([[1,2,3], 
                   [4,5,6]]) 
c_np
배열([[1, 2, 3], 
       [4, 5, 6]])
# 인덱싱, 즉 정의된 셀에 저장된 값을 얻는 것; 
# 여기: 첫 번째 행의 셀, 첫 번째 열 
c_np[0][0]
1
# 여기: 마지막 행의 셀, 마지막 열 
c_np[-1][-1]
6
# 여기: 두 번째 행의 셀, 첫 번째 열 
c_np[1][0]
4
# 위의 c_np[1,0] 을 수행하는 다른 방법
4
# 간단한 1d numpy 배열을 통해 슬라이싱 
# 여기: d_np에서 두 번째 및 세 번째 값 가져오기 
d_np = numpy.array([7,9,11]) 
d_np[1:3]
배열([ 9, 11])
# 첫 번째와 세 번째 요소를 
얻습니다. d_np[0:3:2] # from:to:step
배열([ 7, 11])
# 여기: d_np에서 다른 모든 요소 가져오기 
d_np[::2]
배열([ 7, 11])
# 여기: 모든 세 번째 요소 가져오기 
d_np[::3]
배열([7])
# numpy 모듈 e_np = numpy.arange(0,26)의 메서드인 .arange를 사용하여 1D 배열을 만들 수 있습니다. 
#param1: from; param2: to(마지막 값 제외) 
e_np
배열([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
       17, 18, 19, 20, 21, 22, 23 , 24, 25])
# e_np의 타입을 확인해보자 
type(e_np)
numpy.ndarray
# numpy 배열은 numpy .reshape 메서드를 사용하여 모양을 변경할 수 있습니다. 
f_np = e_np.reshape(2,13) ​​#param1: 행 수; param2: 열 수 
f_np
배열([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], 
       [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]])
# 1D에서 2D를 만드는 것뿐만 아니라 .reshape를 사용할 수 있습니다. 
# 예를 들어 다음을 참조하세요. 
g_np = numpy.array([1,2,3,4,5,6,7,8,9,10,11,12]).reshape(3,2,2) 
g_np
배열([[[ 1, 2], 
        [ 3, 4]], 

       [[ 5, 6], 
        [ 7, 8]], 

       [[ 9, 10], 
        [11, 12]]])
# g_np는 3D도 아닙니다. 이 데이터 큐브에서 일부 차원을 슬라이스하자 
# 두 번째 차원의 첫 번째 방향에 있는 모든 값 
g_np[:,0,:]
배열([[ 1, 2], 
       [ 5, 6], 
       [ 9, 10]])
# 하나의 특정 셀; 모든 차원에서 첫 번째 
g_np[0,0,0]
1
# 하나의 특정 셀; 모든 차원에서 마지막 
g_np[-1,-1,-1]
12
# 하나의 특정 셀; 모든 차원에서 마지막 SECOND 
g_np[-2,-2,-2]
5
# 다른 예제로 numpy에 대한 첫 번째 튜토리얼을 완료해 봅시다. 
# 2차원 배열을 만들어 보여드립니다. 
example = numpy.array([[1,2,3,4,5], 
                      [1.1,2.2,3.3,4.4,5.5], 
                      [1.11,2.22,3.33,4.44 ,5.55], 
                      [1.111,2.222,3.333,4.444,5.555], 
                      [1.1111,2.2222,3.3333,4.4444,5.5555]]) 
예
배열([[1. , 2. , 3. , 4. , 5. ], 
       [1.1 , 2.2 , 3.3 , 4.4 , 5.5 ], 
       [1.11 , 2.22 , 3.33 , 4.44 , 5.55 ], 
       [1.111 , 2.222 , 3.333 , 4.444 , 5.555 ], 
       [1.1111, 2.2222, 3.3333, 4.4444, 5.5555]])
# 이제 값 2.2, 4.4, 2.222 및 4.444에 액세스할 수 있습니다. 단 한 줄의 코드 
example[1::2,1::2]
배열([[2.2 , 4.4 ], 
       [2.222, 4.444]])
# 이제 참조로 복사 할 때 발생하는 몇 가지 예 
a_np = numpy.array([1,2,3]) 
b_np = a_np[:1] 
b_np
배열([1])
# b_np 요소 변경 
b_np[0] = 10000 
b_np
배열([10000])
# npw 확인하자 a_np 
a_np
배열([10000, 2, 3])
# 위는 참조로 복사한 효과입니다. 
# 이는 numpy 배열을 슬라이스할 때 발생합니다. 
# 표준 Python 목록에서 발생합니까? 
a = [1,2,3] b = 
a 
[:1] 
b[0] = 1000
[1, 2, 3]
# 참조에 의한 복사는 pyhton에서 기본 목록을 슬라이싱할 때 발생하지 않습니다. 
# 참조로 복사하지 않으려면 numpy의 일부로 .copy() 메서드를 사용할 수 있습니다. 
c_np = numpy.array([1,2,3,4,5]) 
d_np = c_np.copy() 
d_np [0] = 10000 
c_np[0] = 99999 
# 이제 c_np를 확인합시다. 
print("this is c_np:" + str(c_np))
이것은 c_np:[99999 2 3 4 5]입니다.
# d_np는요? 
d_np
배열([10000, 2, 3, 4, 5])
# .copy()로 복사하면 독립적인 참조가 있는 두 객체로 작업할 수 있습니다.

Leave a Reply

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

Close

메타