1 数组的形状变换
NumPy 提供了多种方法来改变数组的形状。这些方法不会改变数组的内容,而是重新组织数据的排列方式。
1.1 reshape()
函数
reshape()
是最常用的形状变换函数,它可以改变数组的形状,前提是变换后的总元素数量与原数组一致。
import numpy as np
# 创建一个一维数组
arr = np.arange(12)
# 将一维数组变换为 3x4 的二维数组
reshaped_arr = arr.reshape(3, 4)
print("原数组:", arr)
print("变换后的数组:\n", reshaped_arr)
注意: 如果变换后的维度不能满足元素总数要求,
reshape()
会抛出错误。
1.2 ravel()
函数
ravel()
可以将多维数组展平为一维数组,返回的是原数组的视图,修改展平后的数组也会影响原数组。
# 展平二维数组
flattened_arr = reshaped_arr.ravel()
print("展平后的数组:", flattened_arr)
1.3 transpose()
函数
transpose()
用于对多维数组进行转置操作,交换其维度。对于二维数组,转置会将行和列互换。
# 对二维数组进行转置
transposed_arr = reshaped_arr.transpose()
print("转置后的数组:\n", transposed_arr)
1.4 resize()
函数
resize()
和 reshape()
类似,但不同的是,resize()
会直接修改原数组,并且在调整数组大小时,会自动填充或截取数据。
# 使用 resize 改变数组大小
reshaped_arr.resize(2, 6)
print