Я пытаюсь создать массив с плавающей точкой, но я получаю массив объектов - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь умножить два массива, но я не могу это сделать, я получаю это исключение:

"Ошибка типа: объектные массивы в настоящее время не поддерживаются"

и, очевидно, когда я создаю один из двух массивов, я получаю массив dtype = object, а не dtype = float, как должно быть.

это массивы, которые я хочу умножить следующим образом:

A = np.array([[.9, .07, .01],
             [0, .93, .05, .02],
            [0, .0, .85, .15],
             [0, 0, 0, 1.00]])

X = np.array([[85, 10, 5, 0]])

print(A.T @ X.T) # this generates the exception mentioned above

когда я печатаю массив "A", я получаю это:

array([list([0.9, 0.07, 0.01]), list([0, 0.93, 0.05, 0.02]),
       list([0, 0.0, 0.85, 0.15]), list([0, 0, 0, 1.0])], dtype=object)

и я думаю, что причина ошибки

Я не понимаю, почему в массиве есть список, и похоже, что это тип объекта (dtype = object), мне нужен массив с плавающей точкой (4,3), но я получаю и (4,) форму.

Как я мог решить это? Как я могу создать массив с плавающей точкой, который можно умножить

я использую numpy == 1.15.4 и python 3.6

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...