Архивировать массивы NumPy
-
NumPy Zip с функцией
list(zip())
-
NumPy Zip с функцией
numpy.stack()
-
NumPy Zip с функцией
numpy.column_stack()

В этом руководстве будут представлены методы сжатия двух одномерных массивов NumPy в один двухмерный массив NumPy в Python.
NumPy Zip с функцией list(zip())
Если у нас есть два одномерных массива и мы хотим соединить их вместе внутри двухмерного массива, мы можем использовать функцию list(zip())
в Python. Этот подход предполагает объединение массивов в список. Функция list(zip(a,b))
принимает в качестве аргумента массивы a
и b
и возвращает список. Затем мы можем преобразовать заархивированный список в массив с помощью функции numpy.array()
. См. Следующий пример кода.
import numpy as np
a = np.array([1,3,5,7])
b = np.array([2,4,6,8])
c = np.array(list(zip(a,b)))
print(c)
Выход:
[[1 2]
[3 4]
[5 6]
[7 8]]
Сначала мы создали два одномерных массива a
и b
с помощью функции np.array()
и заархивировали их вместе с помощью функции np.array(list(zip(a,b)))
.
Этот подход не очень эффективен, потому что нам нужно преобразовывать между массивами и списками.
NumPy Zip с функцией numpy.stack()
Мы также можем использовать функцию numpy.stack()
для достижения той же цели, что и в предыдущем примере. Этот подход более эффективен, чем предыдущий, поскольку преобразование типов не выполняется. Функция numpy.stack()
используется для объединения двух или более массивов в соответствии с указанной осью. Мы можем указать параметр axis
равным 1
, чтобы получить результат, аналогичный предыдущему примеру. См. Следующий пример кода.
import numpy as np
a = np.array([1,2,3,4,5])
b = np.array([6,7,8,9,10])
c = np.stack((a,b), axis = 1)
print(c)
Выход:
[[1 2]
[3 4]
[5 6]
[7 8]]
Сначала мы создали два одномерных массива a
и b
с помощью функции np.array()
и заархивировали их вместе с помощью функции np.stack((a,b), axis=1)
.
NumPy Zip с функцией numpy.column_stack()
Функция numpy.column_stack()
- это еще один метод, который можно использовать для сжатия двух одномерных массивов в один двухмерный массив в Python. Функция numpy.column_stack()
используется для объединения двух или более одномерных массивов в виде столбцов в один двухмерный массив. Нам не нужно указывать какой-либо параметр оси для этого подхода. См. Следующий пример кода.
import numpy as np
a = np.array([1,3,5,7])
b = np.array([2,4,6,8])
d = np.column_stack((a,b))
print(d)
Выход:
[[1 2]
[3 4]
[5 6]
[7 8]]
Сначала мы создали два одномерных массива a
и b
с помощью функции np.array()
и заархивировали их вместе с помощью функции np.column_stack(a,b)
.
Этот подход является лучшим по сравнению с двумя предыдущими методами. Потому что здесь нет преобразования типов, и нам не нужно указывать какую-либо ось в этом подходе.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn