要修改一个 NumPy 数组的长度,可以使用 reshape() 函数或 resize() 函数。
reshape() 函数用于改变数组的形状,但是数组中的元素的总数不能改变。这意味着,如果要将数组的长度更改为不同的大小,需要确保新大小的总元素数与原始大小的总元素数相同。例如,要将一个形状为 (3, 4) 的数组更改为一个形状为 (2, 6) 的数组,可以使用以下代码:
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
new_arr = arr.reshape((2, 6))
print(new_arr)
输出:
luaCopy code[[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]
resize() 函数与 reshape() 函数的作用相似,但是它可以在改变形状的同时改变数组的总元素数。如果新大小小于原始大小,则将删除某些元素;如果新大小大于原始大小,则将在末尾添加新元素。例如,要将一个形状为 (3, 4) 的数组更改为一个形状为 (2, 6) 的数组,可以使用以下代码:
pythonCopy codeimport numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
np.resize(arr, (2, 6))
print(arr)
输出:
[[1 2 3 4 5 6]
[7 8 9 10 11 12]]
请注意,resize() 函数不会修改原始数组的形状,而是返回一个新的调整大小的数组。