2017-05-10 10 views
0

こんにちは私は初心者のプログラマですが、これを行う簡単な方法が必要であることがわかっていますが、何らかの理由で答えが見つからないことがあります。 2つの配列があり、それぞれの要素を別の配列の要素で分割したいだけです。 「一個の要素でのみ整数配列インデックスに変換することができる例外TypeErrorが」:例えば配列Pythonの要素を分割する

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] 

それは仕事をdoesntのとエラー を与えます

+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

ちょうど、ナンパーの過負荷の性質のために直接部門が可能であることを明確にすることを忘れないでください。 – jsbueno

+0

良い点、私はメモを作成します – wpercy

+0

ありがとう! @wpercy – Katey

関連する問題