在 Numpy 中返回一个与给定数组形状和类型相同的新数组,并将顺序更改为 K 样式
numpyserver side programmingprogramming更新于 2025/9/2 22:07:17
要返回一个与给定数组形状和类型相同的新数组,请使用 Python Numpy 中的 numpy.empty_like() 方法。它返回一个未初始化(任意)数据的数组,其形状和类型与原型相同。此处的第一个参数是原型(类数组)的形状和数据类型,它们定义了返回数组的相同属性。我们使用"order"参数将顺序设置为"K"样式。"K"表示尽可能匹配原型的布局。
顺序会覆盖结果的内存布局。"C"表示 C 顺序,"F"表示 F 顺序,"A"表示如果原型是 Fortran 连续的,则表示"F",否则表示"C"。"K"表示尽可能匹配原型的布局。shape 参数会覆盖结果的形状。如果 order="K"且维数不变,则尝试保持 order 值;否则,则隐含 order="C"。overrides 参数会覆盖结果的数据类型。
subok 参数如果为 True,则新创建的数组将使用原型的子类类型,否则将使用基类数组。默认为 True。
步骤
首先,导入所需的库 −
import numpy as np
使用 array() 方法创建 numpy 三维数组。我们添加了 int 类型的元素 −
arr = np.array([ [[5,10],[15,20]],[[25,30],[35,40]],[[50,60],[70,80]]])
显示数组 −
print("数组...
",arr)
获取数组的类型 −
print("
数组类型...
", arr.dtype)
获取数组的维度 −
print("
数组维度...
", arr.ndim)
要返回与给定数组形状和类型相同的新数组,请使用 Python Numpy 中的 numpy.empty_like() 方法。返回与原型形状和类型相同的未初始化(任意)数据数组。我们使用 order 参数 minus 将顺序设置为 'K' 样式。
newArr = np.empty_like(arr, order = 'K')
print("
新数组..
", newArr)
获取新数组的类型 minus;
print("
新数组类型...
", newArr.dtype)
获取新数组的维度 −
print("
新数组维度...
", newArr.ndim)
示例
import numpy as np
# 使用 array() 方法创建 numpy 三维数组
# 我们添加了 int 类型的元素
arr = np.array([[[5,10],[15,20]],[[25,30],[35,40]],[[50,60],[70,80]]])
# 显示数组
print("数组...
",arr)
# 获取数组的类型
print("
数组类型...
", arr.dtype)
# 获取数组的维度
print("
数组维度...
", arr.ndim)
# 要返回与给定数组形状和类型相同的新数组,请使用 Python Numpy 中的 numpy.empty_like() 方法。
# 它返回一个未初始化(任意)数据的数组,其形状和类型与原型相同。
# 这里的第一个参数是原型(类数组)的形状和数据类型,它们定义了返回数组的相同属性。
# 我们使用"order"参数将顺序设置为"K"样式。
# "K"表示尽可能匹配原型的布局。
newArr = np.empty_like(arr, order = 'K')
print("
新数组..
", newArr)
# 获取新数组的类型
print("
新数组类型...
", newArr.dtype)
# 获取新数组的维数
print("
新数组维度...
", newArr.ndim)
输出
数组... [[[ 5 10] [15 20]] [[25 30] [35 40]] [[50 60] [70 80]]] 数组类型... int64 数组维度... 3 新数组.. [[[ 0 0] [ 0 0]] [[140451415756208 140451415756144] [140451415756272 140451415626672]] [[140451415626864 140451415626928] [140451415626992 140451415627568]]] 新数组类型... int64 新数组维度... 3

