Это работает:Numpy комплекс массив умножения дает неподдерживаемый тип (ы) операнда
In [49]: type([1, 2, 3])
Out[49]: list
In [50]: type(array([1, 2, 3]))
Out[50]: numpy.ndarray
In [52]: 1j*array([1, 2, 3])
Out[52]: array([ 0.+1.j, 0.+2.j, 0.+3.j])
Когда я пытаюсь сделать это на моем собственном списке asdf
:
In [46]: type(asdf)
Out[46]: list
In [47]: type(array(asdf))
Out[47]: numpy.ndarray
In [48]: 1j*array(asdf)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-48-dd0d8b4948e8> in <module>()
----> 1 1j*array(asdf)
TypeError: unsupported operand type(s) for *: 'complex' and 'numpy.ndarray'
Умножение казался счастливым с короткий список, что может пойти не так для asdf
? Он довольно большой, 20347 элементов, но это не имеет значения?
Каков тип содержимого 'asdf'? Это сообщение об ошибке, которое вы получите для '1j * numpy.array (['string'])'. – user2357112
'type (asdf [0]) -> str'. Спасибо. Почему сообщение об ошибке не говорит «complex» и «str», это было бы намного больше ... правильно. – Gauthier