exp
работает с массивом с плавающей запятой:
In [186]: arr = np.array([1.,2.,3.])
In [187]: np.exp(arr)
Out[187]: array([ 2.71828183, 7.3890561 , 20.08553692])
, но не, если массив dtype равен object
:
In [188]: np.exp(arr.astype(object))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
AttributeError: 'float' object has no attribute 'exp'
The above exception was the direct cause of the following exception:
TypeError Traceback (most recent call last)
<ipython-input-188-b80d2a0372d5> in <module>
----> 1 np.exp(arr.astype(object))
TypeError: loop of ufunc does not support argument 0 of type float which has no callable exp method
Ваш массив может иметь смешанные объекты - поплавки , int, списки, кто знает что.
===
Почему matrix1 @ matrix2
object
dtype? Что такое matrix1
и matrix2
? @
обычно является операцией numeri c, хотя недавно она была расширена для работы с объектами dtypes. Но это более медленный расчет.