Основное различие между np.concatenate и np.append в Python NumPy заключается в том, что np.concatenate в основном используется для объединения нескольких массивов по указанным осям, что позволяет выполнять более сложные манипуляции с массивами, тогда как np.append предназначен для добавления элементов в конец существующий 1D массив NumPy.

Содержание

np.concatenate в Python

Функция np.concatenate в NumPy предназначена для объединения массивов по указанным осям в Python.

Это универсальный инструмент для объединения массивов одинаковой формы, который особенно полезен, когда нам нужно объединить несколько массивов вдоль определенной оси, например строк (ось 0) или столбцов (ось 1).

Вот основной синтаксис функции np.concatenate() в Python:

np.concatenate((arr1, arr2, ...), axis=0)
Имя Описание
arr1, arr2 и так далее. Это массивы, которые мы хотим объединить в Python.
axis Это определяет ось, вдоль которой должно происходить объединение. По умолчанию он объединяется по оси 0(строки).

Давайте рассмотрим несколько примеров, чтобы понять, как работает np.concatenate в Python.

Пример 1: по строкам (ось по умолчанию = 0)

В этом случае у нас есть два 2D-массива в Python. и мы объединяем один из массивов с другим и создаем новый массив NumPy Python.

import numpy as np

state1_population = np.array([[1000000, 500000], [300000, 200000]])
state2_population = np.array([[750000, 400000]])
usa_population = np.concatenate((state1_population, state2_population))
print(usa_population)

Результат:

[[1000000  500000]
 [ 300000  200000]
 [ 750000  400000]]

Пример 1: по строкам (ось по умолчанию = 0) 

Пример 2: по столбцам (ось = 1)

Давайте попробуем объединить два массива NumPy в Python.

import numpy as np

state1_gdp = np.array([[50000, 55000, 60000]])
state2_gdp = np.array([[63000, 64000, 68000]])
usa_gdp = np.concatenate((state1_gdp, state2_gdp), axis=1)
print(usa_gdp)

Вывод:

[[50000 55000 60000 63000 64000 68000]]

Пример 2: по столбцам (ось = 1)

Функция np.append

С другой стороны, np.append — это более простая функция, которая добавляет значения в существующий массив NumPy вдоль указанной оси в Python.

Хотя его можно использовать для конкатенации, он больше подходит для добавления отдельных элементов или массивов в конец существующего массива в Python.

Вот синтаксис функции numpy.append() в Python:

np.append(arr, values, axis=None)
Имя Описание
arr. Входной массив NumPy в Python.
values Значения, которые нужно добавить в Arr через Python.
axis Ось, по которой добавляются значения. Если не указано, массив выравнивается перед добавлением.

Пример 1: два массива 1d

Давайте возьмем два массива и попробуем добавить значение одного numpy-массива к концу другого через Python.

import numpy as np

temperatures = np.array([72, 74, 71, 68, 75, 76, 70])
additional_temperature = np.array([73])
updated_temperatures = np.append(temperatures, additional_temperature)
print(updated_temperatures)

Вывод:

[72 74 71 68 75 76 70 73]

Пример 1: два массива 1d 

Пример 2: добавляет несколько массивов

Здесь давайте возьмем два массива и добавим значения из одного массива NumPy в другой с помощью функции Python np.append().

import numpy as np

top_universities = np.array([["Harvard", "MIT", "Stanford"]])
new_university = np.array([["Yale", "Caltech", "Princeton"]])
updated_universities = np.append(top_universities, new_university, axis=0)
print(updated_universities)

Вывод:

[['Harvard' 'MIT' 'Stanford']
 ['Yale' 'Caltech' 'Princeton']]

Пример 2: добавляет несколько массивов

Отличия

Теперь, когда мы увидели примеры np.concatenate и np.append, давайте суммируем ключевые различия:

Функции numpy.concatenate numpy.append
Операция Объединяет два или более массивов NumPy вдоль указанной оси в Python. Добавляет значения в конец массива NumPy в Python.
Входные массивы Ожидает объединения последовательности массивов. Ожидайте два массива в качестве входных данных.
Параметр оси Позволяет указать ось для объединения. Нет прямого контроля над осью.
Использование для массивов Обычно используется для объединения массивов NumPy по оси. Обычно используется для добавления элементов.
Производительность Обычно более эффективно для объединения нескольких массивов по оси в Python. Может быть менее эффективным при многократном добавлении в конец массива в Python.
Вариант на месте Можно использовать на месте, присвоив результат существующему массиву Python NumPy. Не предоставляет опцию «на месте».
Несколько осей Поддерживает конкатенацию по нескольким осям одновременно. Добавляет элементы только в конец массива Python NumPy.
Гибкость Предлагает больше контроля и гибкости в операциях конкатенации. Более простой, но менее универсальный способ манипулирования массивами.
Пример Python np.concatenate([arr1, arr2], ось = 0) Python np.append(arr1, arr2)

Список ключевых различий между объединением NumPy и добавлением в Python.

numpy объединить против добавления

np.concatenate против np.append в кодировании

Здесь я взял по одному примеру для каждой функции np.concatenate() и np.append() одновременно, чтобы вам было легче понять:

import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])
result = np.concatenate([arr1, arr2], axis=0)
print('Result for concatenate:\n', result)
import numpy as np

arr1 = np.array([1, 2, 3])
element1 = 4
element2 = 5
result = np.append(arr1, [element1, element2])
print('Result for append:\n', result)

Выходы:

Result for concatenate:
 [[1 2]
 [3 4]
 [5 6]]
Result for append:
 [1 2 3 4 5]

np.concatenate против np.append в кодировании

Добавить комментарий