NumPy 数组迭代与合并详解


在 NumPy 中,数组迭代和合并是常见的操作,用于对数组进行遍历和组合。以下是关于如何在 NumPy 中执行数组迭代和合并的详细解释。

1. 数组迭代

NumPy 提供了多种方法来对数组进行迭代,其中最常用的是 numpy.nditer() 函数。

numpy.nditer()

numpy.nditer() 函数用于在数组的每个元素上进行迭代。

import numpy as np

arr = np.array([[1, 2], [3, 4]])

for x in np.nditer(arr):
    print(x)

输出结果为:

1
2
3
4

2. 数组合并

数组合并操作允许你将多个数组合并成一个数组。NumPy 提供了多种方法来执行这个操作,包括 numpy.concatenate()numpy.stack()numpy.hstack()numpy.vstack() 等函数。

numpy.concatenate()

numpy.concatenate() 函数用于沿指定轴连接数组。

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

concatenated_arr = np.concatenate((arr1, arr2))
print("Concatenated array:", concatenated_arr)

输出结果为:

Concatenated array: [1 2 3 4 5 6]

numpy.stack()

numpy.stack() 函数用于沿新轴连接数组序列。

stacked_arr = np.stack((arr1, arr2))
print("Stacked array:", stacked_arr)

输出结果为:

Stacked array: [[1 2 3]
                 [4 5 6]]

numpy.hstack()numpy.vstack()

numpy.hstack()numpy.vstack() 函数分别用于在水平方向和垂直方向上堆叠数组。

arr3 = np.array([7, 8, 9])

hstacked_arr = np.hstack((arr1, arr2, arr3))
print("Horizontally stacked array:", hstacked_arr)

vstacked_arr = np.vstack((arr1, arr2, arr3))
print("Vertically stacked array:", vstacked_arr)

输出结果为:

Horizontally stacked array: [1 2 3 4 5 6 7 8 9]
Vertically stacked array: [[1 2 3]
                            [4 5 6]
                            [7 8 9]]

3. 小结

在这个解释中,我们介绍了如何在 NumPy 中执行数组迭代和合并操作。通过 numpy.nditer() 函数可以对数组进行迭代,而 numpy.concatenate()numpy.stack()numpy.hstack()numpy.vstack() 等函数则用于合并数组。这些功能使得 NumPy 成为处理和分析数组数据的强大工具。


原文链接:codingdict.net