Python: Numpy объединяет массивы в списки 2x1

1

Я надеюсь объединить два массива

 A: ([1,2,5,8])
 B: ([4,6,7,9])

в

 C: ([[1,4],
      [2,6],
      [5,7],
      [8,9]])

Я попытался вставить, добавить и объединить, они объединяют все элементы вместе, не давая размерности C.

Я новичок в Python, любая помощь будет оценена.

  • 0
    print(list(map(list, zip(A,B)))) ?
Теги:
arrays
numpy
list

2 ответа

1
Лучший ответ

Используйте numpy.column_stack:

Stack 1-D массивы как столбцы в двумерный массив

np.column_stack((A, B))

array([[1, 4],
       [2, 6],
       [5, 7],
       [8, 9]])
  • 0
    Как вы выбираете 1 или 2 из сложенного массива? Выбрать отдельный элемент из подсписков?
  • 0
    Чтобы выбрать из первого столбца, начните индексирование с помощью arr[:, 0] , а для второго столбца используйте arr[:, 1]
Показать ещё 2 комментария
1

Согласно вашему первоначальному подходу вам нужно всего лишь использовать zip, который возвращает итератор кортежей, где i-й кортеж содержит i-й элемент из каждой последовательности аргументов или итераций.

import numpy

A = numpy.array([1,2,5,8])
B = numpy.array([4,6,7,9])

print(list(zip(A, B)))

Он напечатает:

[(1, 4), (2, 6), (5, 7), (8, 9)]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню