2017-05-10 1 views
0

안녕하세요 저는 초심자 프로그래머이며이 작업을 수행하는 간단한 방법이 있어야한다는 것을 알고 있습니다. 그러나 어떤 이유로 든 대답을 찾을 수 없습니다. 나는 두 개의 배열을 가지며 각 요소를 다른 배열의 요소로 나누기를 원한다. "하나 개의 요소 만 정수 배열 인덱스로 변환 할 수있는 형식 오류는"예를 들어배열 파이썬 요소 나누기

a= np.array([2,4,6,8,10,12]) 
b=np.array([2,1,2,1,2,1]) 
so that the result is (1,4,3,8,5,12).... 

나는 for 루프를 통해이 일을 시도

for i in range(a): 
    c = a[i]/b[i] 

하지만 작품을 나던 및 오류 을 제공합니다

+1

'for' 루프없이'a/b'를 시도하십시오,'numpy'는 전체 배열에 대해 수학적 연산을하는 의미있는 일을합니다. – AChampion

+0

'a/b'는 다른 사람들이 지적했듯이 작동 할 것입니다. 다른 문제는'range (len (a))'를 사용해야하는'range (a)'를 가졌다는 것입니다. – VBB

+0

@VBB 예 그게 내 진짜 문제라는 걸 알았어, 고마워! – Katey

답변

2

당신은 (a/b)

In [1]: import numpy as np 

In [2]: a = np.array([2,4,6,8,10,12]) 

In [3]: b = np.array([2,1,2,1,2,1]) 

In [4]: a/b 
Out[4]: array([ 1, 4, 3, 8, 5, 12]) 
배열 자체를 나눌 수 있습니다

numpy는 ndarray__div__ 메서드를 오버로드하여 배열의 요소를 나누고 결과 배열을 출력하기 때문에 발생합니다 (구현은 대부분 C 코드로 이루어 지므로이 문제가 발생하는 곳으로 연결하는 것이 어려울 수 있습니다)

+0

Numpy 운영자 과부하의 특성으로 인해 직접 분화가 가능하다는 것을 분명히하는 것을 잊지 마십시오. – jsbueno

+0

좋은 점, 메모를 작성하겠습니다 – wpercy

+0

고마워요! @wpercy – Katey