Только массивы размера 1 могут быть преобразованы в скаляры Python

Я создал трехмерный объект, используя numpy.random модуль, такой как

import numpy as np
b = np.random.randn(4,4,3)

Почему мы не можем привести тип float к b?

TypeError

фактический код

1 ответ

Решение

Ты не можешь float(b) так как b это не число, это многомерный массив / матрица. Если вы пытаетесь преобразовать каждый элемент в число с плавающей точкой Python, это плохая идея, потому что числовые числа более точны, но если вы действительно хотите сделать это по любой причине, вы можете сделать b.tolist(), который возвращает Python list из floats. Однако я не верю, что у вас может быть пустая матрица нативных типов Python, потому что это не имеет никакого смысла.

Другие вопросы по тегам