Рубрики
Без рубрики

numpy.append () в Python

Функция Python Numpy Append () используется для объединения двух массивов. Эта функция возвращает новый массив, а оригинальный массив остается неизменным. Numpy Append ()

Автор оригинала: Pankaj Kumar.

Функция Python Numpy Append () используется для объединения двух массивов. Эта функция возвращает новый массив, а оригинальный массив остается неизменным.

Numpy добавить () синтаксис

Синтаксис функции:

numpy.append(arr, values, axis=None)
  • arr Может быть массивным объектом или несколькими массивами. Значения добавляются к копии этого массива.
  • Значения Массивные объекты, и он добавляется к концу элементов «ARM».
  • Ось Определяет ось вдоль того, какие значения добавлены. Если ось не предоставлена, оба массива сплются.

Python numpy.append () примеры

Давайте посмотрим на некоторые примеры функции Numpy Appred ().

1. Сравнивание двух массивов

import numpy as np

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[10, 20], [30, 40]])

# no axis provided, array elements will be flattened
arr_flat = np.append(arr1, arr2)

print(arr_flat)  # [ 1  2  3  4 10 20 30 40]

2. Слияние вдоль оси

import numpy as np

arr_merged = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=0)
print(f'Merged 2x2 Arrays along Axis-0:\n{arr_merged}')

arr_merged = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=1)
print(f'Merged 2x2 Arrays along Axis-1:\n{arr_merged}')

Выход:

Merged 2x2 Arrays along Axis-0:
[[ 1  2]
 [ 3  4]
 [10 20]
 [30 40]]
Merged 2x2 Arrays along Axis-1:
[[ 1  2 10 20]
 [ 3  4 30 40]]
  • Когда массивы 2 × 2 объединяются вдоль оси X, размер выходного массива составляет 4 × 2.
  • Когда матрицы 2 × 2 объединяются вдоль оси Y, размер выходного массива составляет 2 × 4.

3. Объединение массивов разных форм

Функция Append () бросает valueError, если оба массива имеют разные формы, исключая ось.

Давайте посмотрим этот сценарий простым примером.

arr3 = np.append([[1, 2]], [[1, 2, 3], [1, 2, 3]])
print(arr3)

arr3 = np.append([[1, 2]], [[1, 2], [3, 4]], axis=0)
print(arr3)
  • В первом примере элементы массива сплющены. Так что даже если они имеют совершенно другой размер – 1 × 2 и 2 × 3, приложение работает нормально.
  • Во втором примере формы массива являются 1 × 2 и 2 × 2. Поскольку мы добавляем вдоль 0-оси, форма 0 оси может быть разной. Другие формы должны быть одинаковыми, поэтому это приложение () также будет работать нормально.

Выход:

[1 2 1 2 3 1 2 3]

[[1 2]
 [1 2]
 [3 4]]

Давайте посмотрим на другой пример, где будет поднят leatherror.

>>> import numpy as np
>>> 
>>> arr3 = np.append([[1, 2]], [[1, 2, 3]], axis=0)
Traceback (most recent call last):
  File "", line 1, in 
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/function_base.py", line 4528, in append
    return concatenate((arr, values), axis=axis)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
>>> 

Python Numpy Append () ValueError

Формы массива составляют 1 × 2 и 2 × 3. Поскольку формы Axis-1 различны, ValueError повышен.

Ссылка : API док