Другими словами, каждый элемент внешнего массива будет вектором строки из исходного 2D-массива.Как преобразовать массив 2D numpy в массив 1D numpy массивов 1D numpy?
ответ
Я думаю, что нет смысла использовать массивы numpy для этого, просто подумайте, что вам не хватает всех преимуществ numpy.
@Jaime уже говорил, 2D массив может быть интерпретирован как массив 1D массивов, предположим:
a = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
делать a[0]
вернется array([1, 2, 3])
.
Так что вам не нужно делать никаких преобразований.
У меня была такая же проблема, чтобы добавить raw с разной длиной в 2D-массив.
Единственный трюк, который я нашел до сих пор, состоял в том, чтобы использовать список comprenhion и добавить новую строку (см. Ниже). Не очень оптимальна я думаю, но, по крайней мере, это работает ;-)
Надеюсь, что это может помочь
>>> x=np.reshape(np.arange(0,9),(3,3))
>>> x
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> row_to_append = np.arange(9,11)
>>> row_to_append
array([ 9, 10])
>>> result=[item for item in x]
>>> result.append(row_to_append)
>>> result
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8]), array([ 9, 10])]
np.vsplit
Split массива в нескольких вложенных массивов вертикально (по рядам).
x=np.arange(12).reshape(3,4)
In [7]: np.vsplit(x,3)
Out[7]: [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
Пояснение может быть использовано для изменения этих массивов на 1d.
Это список массивов, а не массив массивов. Такая последовательность массивов может быть рекомбинирована с помощью vstack
(или hstack, dstack).
np.array([np.arange(3),np.arange(4)])
делает массив из 2 элементов массивов. Но если массивы в списке имеют одинаковую форму (или совместимую), она создает 2d-массив. Что касается хранения данных, это может не иметь значения, является ли это 2d или 1d из 1d массивов.
- 1. NumPy 1D массив NumPy массивов
- 2. Массив numpy массивов numpy имеет 1D-форму
- 3. Найти массив 1D из массивов 2D NumPy?
- 4. NumPy 1D массив нарезка
- 5. Сочетайте 2D массив в 1D без Numpy
- 6. Преобразование матрицы numpy в массив 1D numpy
- 7. Quickest способ преобразовать массив байтов 1D в 2D Numpy массив
- 8. NumPy: массив 1D numpy для нарезания списка
- 9. Numpy изменить массив массивов на 1D
- 10. Заказ 3 1d массив numpy для получения массива 2d numpy
- 11. Python Numpy рода 1D массив
- 12. Numpy: получить массив 1D как 2D-массив без изменения
- 13. Как эффективно преобразовать массив 2d numpy в массив 1d numpy кортежей?
- 14. Свернуть массив nD numpy в 1D-массив
- 15. Numpy Advanced Индексация с 1D массив
- 16. numpy Stacking 1D массивы в структурированный массив
- 17. Раздувание 1D массив в 2D-массив в Numpy
- 18. numpy массив массивов numpy массивов numpy
- 19. Update выбранные столбцы в 2D Numpy массив с 1D массив
- 20. фрагмент 1D массив в Numpy без петли
- 21. Самый быстрый способ заполнить массив 1D numpy
- 22. Как умножить двумерный массив numpy с массивом numpy 1D?
- 23. Эффективное преобразование 3D-Numpy массива 1D-Numpy массив
- 24. Как разбить смешанный массив dtype 1D numpy?
- 25. Список единиц 1D массивов в 2D-массив
- 26. Как быстро создать специальный массив numpy 1D?
- 27. Pandas df.to_records() возвращает массив 1d numpy
- 28. Включить словарь списков в массив 1D numpy
- 29. Передача 1d массива numpy с массивом 2d numpy
- 30. Numpy 2d и 1d массив до латексной матрицы
Это уже так: если 'a' является двумерным массивом, то' a [j] 'является массивом 1D, содержащим' j '-ную строку' a'. – Jaime