📅  最后修改于: 2023-12-03 14:58:11.055000             🧑  作者: Mango
NumPy是Python中用于数值计算的核心库。它提供了高性能的多维数组对象及用于操作数组的工具。本文将重点介绍如何重塑NumPy数组。
有时我们需要改变一个NumPy数组的形状,这就是重塑操作。例如,你可能需要将一个二维数组转换为一维数组,或者将一个数组从行优先模式转换为列优先模式。
reshape()
是NumPy的一个函数,用于改变数组的形状。它返回一个新的数组对象,新数组的形状由参数决定。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = arr.reshape(2, 3)
print(new_arr)
输出:
array([[1, 2, 3],
[4, 5, 6]])
在上面的例子中,我们将一个3x2的数组重塑为2x3的数组。
transpose()
可以将数组的维度交换。如果你想将行变成列,列变成行,那么可以使用它。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = arr.transpose()
print(new_arr)
输出:
array([[1, 3, 5],
[2, 4, 6]])
在上面的例子中,我们将一个3x2的数组的维度交换为2x3的数组。
flatten()
函数将一个多维数组展平成一个一维数组。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = arr.flatten()
print(new_arr)
输出:
array([1, 2, 3, 4, 5, 6])
在上面的例子中,我们将一个3x2的数组展平成了一个一维数组。
ravel()
函数也可以将一个数组展平成一个一维数组。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = arr.ravel()
print(new_arr)
输出:
array([1, 2, 3, 4, 5, 6])
和flatten()
函数一样,ravel()
函数也将一个3x2的数组展平成了一个一维数组。
重塑数组的方法包括reshape()
、transpose()
、flatten()
和ravel()
函数。这些函数可以帮助我们更方便地操作NumPy数组,适应不同的需求。