#python #list #numpy #tuples
Вопрос:
Как превратить кортеж вложенных списков в один массив numpy без потери их размеров?
кортеж вложенных списков:
([[3,4],[3,4]],[[4,5]])
результирующий numpy-массив должен быть:
[[[3,4],[3,4]],[[4,5]]]
Комментарии:
1. Вы не можете превратить его в массив, потому что первый подсписк содержит два элемента, а второй-только один. И если вы это сделаете
np.array(my_tuple)
, это будет просто массив объектов из того, что у вас уже есть.
Ответ №1:
In [146]: np.array(([[3,4],[3,4]],[[4,5]])) lt;ipython-input-146-07d091c86adagt;:1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray. np.array(([[3,4],[3,4]],[[4,5]])) Out[146]: array([list([[3, 4], [3, 4]]), list([[4, 5]])], dtype=object)
В результате получается единый массив, содержащий два списка, как указано (с сохранением их размеров). Чего еще ты хочешь?