在NumPy中追加数组

在NumPy中追加数组

参考:append numpy array

NumPy是Python中用于科学计算的核心库之一,它提供了一个强大的数组对象ndarray以及用于对这些数组进行操作的广泛函数。在数据处理和分析中,我们经常需要将数据追加到现有的NumPy数组中。本文将详细介绍如何在NumPy中追加数组,并提供多个示例代码以供参考。

使用numpy.append函数追加元素

NumPy提供了numpy.append函数,它可以用来在数组的末尾追加值。这个函数的基本语法如下:

numpy.append(arr, values, axis=None)
  • arr是要追加数据的原始数组。
  • values是要追加的值,可以是一个数、一个列表或另一个数组。
  • axis指定了追加的维度,如果不指定,则values会被展平后追加。

示例代码1:追加单个元素

import numpy as np

# 创建一个原始数组
original_array = np.array([1, 2, 3])

# 追加一个元素
new_array = np.append(original_array, 4)

print(new_array)

Output:

在NumPy中追加数组

示例代码2:追加数组

import numpy as np

# 创建一个原始数组
original_array = np.array([1, 2, 3])

# 创建一个要追加的数组
array_to_append = np.array([4, 5, 6])

# 追加数组
new_array = np.append(original_array, array_to_append)

print(new_array)

Output:

在NumPy中追加数组

示例代码3:沿特定轴追加

import numpy as np

# 创建一个二维原始数组
original_array = np.array([[1, 2, 3], [4, 5, 6]])

# 创建一个要追加的数组
array_to_append = np.array([[7, 8, 9]])

# 沿着第0轴(行)追加
new_array = np.append(original_array, array_to_append, axis=0)

print(new_array)

Output:

在NumPy中追加数组

使用numpy.concatenate函数追加数组

除了numpy.append,NumPy还提供了numpy.concatenate函数,它可以用来连接两个或多个数组。这个函数的基本语法如下:

numpy.concatenate((a1, a2, ...), axis=0)
  • (a1, a2, ...)是一个包含要连接的数组的元组或列表。
  • axis指定了连接的轴,默认为0。

示例代码4:连接两个一维数组

import numpy as np

# 创建两个数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 连接数组
new_array = np.concatenate((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

示例代码5:连接两个二维数组

import numpy as np

# 创建两个二维数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 沿着第0轴(行)连接数组
new_array = np.concatenate((array1, array2), axis=0)

print(new_array)

Output:

在NumPy中追加数组

示例代码6:沿不同轴连接数组

import numpy as np

# 创建两个二维数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 沿着第1轴(列)连接数组
new_array = np.concatenate((array1, array2), axis=1)

print(new_array)

Output:

在NumPy中追加数组

使用numpy.vstacknumpy.hstack堆叠数组

当我们需要沿特定轴堆叠数组时,numpy.vstack(垂直堆叠)和numpy.hstack(水平堆叠)是非常有用的函数。

示例代码7:垂直堆叠

import numpy as np

# 创建两个数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 垂直堆叠
new_array = np.vstack((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

示例代码8:水平堆叠

import numpy as np

# 创建两个数组
array1 = np.array([[1], [2], [3]])
array2 = np.array([[4], [5], [6]])

# 水平堆叠
new_array = np.hstack((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

使用numpy.r_numpy.c_进行简便堆叠

NumPy还提供了numpy.r_numpy.c_对象,它们可以用于快速地沿着第一个轴和第二个轴堆叠数组。

示例代码9:使用numpy.r_

import numpy as np

# 创建两个数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 使用numpy.r_进行堆叠
new_array = np.r_[array1, array2]

print(new_array)

Output:

在NumPy中追加数组

示例代码10:使用numpy.c_

import numpy as np

# 创建两个数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 使用numpy.c_进行堆叠
new_array = np.c_[array1, array2]

print(new_array)

Output:

在NumPy中追加数组

使用numpy.insert函数插入元素

有时我们不仅需要在数组的末尾追加元素,还需要在数组的特定位置插入元素。这时可以使用numpy.insert函数。

示例代码11:在一维数组中插入元素

import numpy as np

# 创建一个数组
original_array = np.array([1, 2, 4, 5])

# 在索引2的位置插入元素3
new_array = np.insert(original_array, 2, 3)

print(new_array)

Output:

在NumPy中追加数组

示例代码12:在二维数组中插入元素

import numpy as np

# 创建一个二维数组
original_array = np.array([[1, 2], [4, 5]])

# 在第0行插入一行
new_array = np.insert(original_array, 0, [3, 3], axis=0)

print(new_array)

Output:

在NumPy中追加数组

使用numpy.resize函数调整数组大小

当我们需要扩展数组并用重复的数组元素填充新位置时,可以使用numpy.resize函数。

示例代码13:调整数组大小

import numpy as np

# 创建一个数组
original_array = np.array([1, 2, 3])

# 调整数组大小为6
new_array = np.resize(original_array, 6)

print(new_array)

Output:

在NumPy中追加数组

使用numpy.pad函数填充数组

有时我们需要在数组的边缘添加数据。这时可以使用numpy.pad函数。

示例代码14:填充数组

import numpy as np

# 创建一个数组
original_array = np.array([1, 2, 3])

# 在数组的两端各填充一个0
new_array = np.pad(original_array, pad_width=1, mode='constant', constant_values=0)

print(new_array)

Output:

在NumPy中追加数组

示例代码15:填充二维数组

import numpy as np

# 创建一个二维数组
original_array = np.array([[1, 2], [3, 4]])

# 在数组的四周各填充一个0
new_array = np.pad(original_array, pad_width=1, mode='constant', constant_values=0)

print(new_array)

Output:

在NumPy中追加数组

使用numpy.block函数构建块数组

numpy.block函数可以用于创建更复杂的数组,它将嵌套的列表作为块来构建数组。

示例代码16:构建块数组

import numpy as np

# 创建一个块数组
new_array = np.block([[np.array([1, 2]), np.array([3, 4])], [np.array([5, 6]), np.array([7, 8])]])

print(new_array)

Output:

在NumPy中追加数组

使用numpy.column_stack函数堆叠一维数组为二维数组

numpy.column_stack函数可以将一维数组堆叠为二维数组,每个一维数组成为二维数组的一列。

示例代码17:堆叠一维数组为二维数组

import numpy as np

# 创建两个一维数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 堆叠一维数组为二维数组
new_array = np.column_stack((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

使用numpy.row_stack函数堆叠一维数组为二维数组

numpy.row_stack函数可以将一维数组堆叠为二维数组,每个一维数组成为二维数组的一行。

示例代码18:堆叠一维数组为二维数组

import numpy as np

# 创建两个一维数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 堆叠一维数组为二维数组
new_array = np.row_stack((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

使用numpy.dstack函数沿第三轴堆叠数组

numpy.dstack函数可以沿第三轴(深度)堆叠数组。

示例代码19:沿第三轴堆叠数组

import numpy as np

# 创建两个二维数组
array1 = np.array([[1, 2], [3, 4]])
array2 = np.array([[5, 6], [7, 8]])

# 沿第三轴堆叠数组
new_array = np.dstack((array1, array2))

print(new_array)

Output:

在NumPy中追加数组

使用numpy.stack函数沿新轴堆叠数组

numpy.stack函数可以沿指定的新轴堆叠数组。

示例代码20:沿新轴堆叠数组

import numpy as np

# 创建两个一维数组
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# 沿新轴堆叠数组
new_array = np.stack((array1, array2), axis=-1)

print(new_array)

Output:

在NumPy中追加数组

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程