간단한 NumPy와, Numba (B)를 사용하는

  자신의 이론이 아니라 아주 간단한, 동적 프로그래밍도 편집자 주를 알고 있지만, 소스 또는 좀 더 어려운 지금, 단순히 제목 설명을 제공 구현 발견 원래, 일본 NLP 레슨 동적 프로그래밍을 작성하고 반을 썼다 주니어 파트너는 또한 예를 들어,에 대해 생각 할 수있다, 우리는 지금 일위안 동전, 2 개 달러 동전 5 위안 10위안 동전 동전을 가지고있다. 우리는 동전의 최소 보장, M 동전 돈의 양을 원하는, 무엇을 우리의 변화 과정은, 예를 두 가지, 우리는 지금 세그먼트 N (N은 특정 길이의 정수), N 개의 세그먼트로 잘라, M-미터 로프를 최대 제품 결과를 보장하기 위해 로프의 길이를 곱한, 우리는이를 작성하는 머리를 뒤로 며칠을 차단해야합니다. 오늘, 우리는 사용 NumPy와에 대해 우리가 운동을 통해 사용 NumPy와 볼이 시간을 이야기하는 것을 계속한다.

  문제 : 편곡은 편곡을 변경하지 않고, 모든 홀수 -1을 대체합니다. (팁 경우)

도착 = np.arange (10 ) 
밖으로 = np.where (도착 % 2 == 1, -1, 도착)

구문은, 우선 조건, 파라미터를 파라미터 번째, 세 번째 입력 매개 변수 어레이 이유의 조건을 충족하는 대체 될 곳.

  질문 : 주어진 행의 2 차원 배열의 2 차원 어레이로 변환 : np.arange를 (10)

도착 = np.arange (10 ) 
밖으로 = np.reshape (2, -1)
-1 개의 파라미터 경우,하지를 제한하는 구문 (행, 열)를 바꿀

  문제 : 수직으로 적층 된 배열과 배열 B, 주어진 A = np.arange (10) .reshape (2, -1) = B np.repeat (1, 10) .reshape (2, -1)을 원하는 출력 :

> 배열 ([0, 1, 2, 3, 4],

> [5, 6, 7, 8, 9,

> [1, 1, 1, 1, 1,

> [1, 1, 1, 1, 1])

np.arange = A (10) .reshape (2, -1 ) 
B = np.repeat. (1, 10) .reshape (2, -1 ) 
np.concatenate ([A, B], 축 = 0) #의 방법 
np.vstack ([A, B])   #의 방법 II 
np.r_ [A, B] #에 있어서 세

방법 A : 구문을 연결 매개 변수의리스트이며, 축 = 0 스택 종, 횡 인

방법 2 : vstack 수직으로 적층 된 측 방향 연장 hstack.

세 가지 방법 : R_ 수직으로 적층 된 측 방향 연장 C_.

 문제 : 사용하지 않고 다음과 같은 모드를 만들기 하드 코딩. NumPy와 기능은 입력 및 배열에 따라.

을 감안할 때 :

np.array A = ([1,2,3]) '원하는 출력 :

> 배열 ([1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3)

np.array A = ([1,2,3 ]) 
np.r_ [np.repeat (a, 3) np.tile (a, 3)]

설명 : np.repeat (a, 3) 배열을 얻었다 ([1, 1, 1, 2, 2, 2, 3, 3, 3), np.tile (a, 3) 배열을 얻었다 ([1, 2, 3, 1, 2, 3, 1, 2, 3), 그리고 적층 될 R_

  문제점 : 배열 어레이 B 사이의 일반적인 용어를 얻는다. AB 교차로

np.intersect1d (a, b)

  문제점 : A의 배열 어레이 B로부터 항목을 모두 제거한다. 감안 A = np.array ([1,2,3,4,5]) B = np.array ([5,6,7,8,9]) 원하는 출력> 어레이 (1,2 3, 4)

np.array A = ([1,2,3,4,5 ]) 
B = np.array ([5,6,7,8,9 ]) 
np.setdiff1d (a, b)

두 번째 요소를 제거하는 단계를 포함하는 최초의 파라미터 데이터에 setdiffld 순서를 사용하고, 상기 제 파라미터의 나머지 요소를 포함하지 않는 경우에 유의. (비트 Raozui 수 있음).

  문제 : 요소 a와 b 일치하는 가져 오기 위치를

np.array A = ([1,2,3,2,3,4,3,4,5,6 ]) 
B = np.array ([7,2,10,2,7,4,9,4 , 9,8 ]) 
np.where (A ==의 b)

  질문 : 5 ~ 10 사이의 모든 항목을 가져옵니다.

np.array A = ([2, 6, 1, 9, 10, 3, 27 ]) 
인덱스 = np.where ((a> = 5) (a <= 10 )) 
이 [인덱스]

  질문 : 도착 교환 어레이 행 1 및 2.

도착 = np.arange (9) .reshape (3,3 ) 
, 언 [ 1,0,2] ,:]

  문제점 : 배열 도착 교환 컬럼 1 및 2.

도착 = np.arange (9) .reshape (3,3 ) 
 인쇄 (도착) 
, 언 [:, [ 1,0,2]

  질문 : 2 차원 어레이의 도착의 라인 반전.

도착 = np.arange (9) .reshape (3,3 ) 
, 언 [:: -1]

  질문 : 도착의 컬럼 반전 2 차원 어레이.

도착 = np.arange (9) .reshape (3,3 ) 
도착 
도착 [:, :: -1]

  문제점 : 5-10 임의의 소수를 포함 시키도록 5x3를 2 차원 어레이 형상으로 만든다.

도착 = np.arange (9) .reshape (3,3 ) 

#의 해결 방법 1 : 
rand_arr = np.random.randint (= 저 5 고 = 10, 크기 = (5,3)) + np.random.random ((5,3 ))
 #에 인쇄 (rand_arr) 

#의 해결 방법 2 : 
rand_arr np.random.uniform = (5,10 크기 = (5,3 ))
 프린트 (rand_arr)

이것은, 정교한 [A가 B] 도착 슬라이스이고, 언한다  : 예 [ 2 : 7 : 2 ] , # 2의 간격 인덱스 7 스탑 인덱스 2에서 시작하고 2 차원 배열에 우리는 '사용할 수 있으며, 예를 들면, [X, M, 우리는 제거는 M + 1 X + 1 행의 첫 번째 요소.

이 : 거기 ... 그리고 사용. 우리는 예를 살펴 : 그게 전부입니다, 예로서 [: 2] 우리는 얼마나 많은 행이 세 번째 열에서 자신의 배관을 모두 제거 할 것입니다. 동료 A [2 :], 너무, 모든 두 번째 행에서, 그는하지만 얼마나 많은 열이.

단계가 모두했다 N ::이며, 소자 : 제 응시 요소 : 우리는 N 내지 :: 개의 콜론으로 접합 상술했다. 스텝 크기는 역방향 것이다 음수이다. 우리는 ~ 넘프의 사용의 다음 문제에 대해 얘기를 계속!

 

추천

출처www.cnblogs.com/cxiaocai/p/11222204.html