2017-03-24 6 views
1

セイをnumpyのおかしい行動は、私はPythonの配列とnumpyの配列を持っている

import numpy as np 
python_array = [range(20), range(20), range(20)] 
numpy_array = np.array(python_array) 

あなたは行うことができます。

numpy_array + python_array 

しかし、これは、同じ結果を与えます

python_array + numpy_array 

__add__のPython配列は単なる連結です。実際には、あなたがしなければ:

python_array.\__add__(numpy_array) 

それは与える:

can only concatenate list (not "numpy.ndarray") to list 

誰かがこれを私に説明できますか?

+0

あなたが望むものがありますhttp://stackoverflow.com/a/1324939/5110035 – MichaelMMeskhi

答えて

1

がこの操作を理解していない場合は、の__radd__メソッドを実装してa + bを実装する方法もあります。 numpy.ndarray.__radd__が表示されています。

+0

これは私が疑うところですが、「__radd__」があることはわかりませんでした。ありがとう –

関連する問題