У меня есть список определенного объекта Python (назовем его MyClass), который можно интерпретировать как многомерный массив Numpy. Однако я хотел бы преобразовать этот список в массив MyClass, а не пытаться преобразовать MyClass во внутренний массив Numpy. Просто ради вопроса вы можете использовать простой список вместо MyClass:
Вы можете добиться того, чего я хочу:
Код: Выделить всё
import numpy
arr = np.empty(len(data), dtype=object)
for i,v in enumerate(data):
arr[i] = v
assert arr.shape == (len(data),) # Works
Но я удивлен, почему это не работает:
Код: Выделить всё
arr = np.array(data, dtype=object)
print(arr.shape) # prints (2 ,3), and I want (2,)
Есть ли способ ограничить Numpy, чтобы он не углублялся во внутренние списки и не создавал их экземпляры в виде массивов? Почему аргумент dtype=object не подразумевает этого? Я очень надеюсь избежать этого цикла перечисления i,v.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... lists-of-1