在 Numpy 中返回一个与给定数组形状和类型相同的新数组,并更改其顺序

numpyserver side programmingprogramming更新于 2025/9/2 15:37:17

要返回一个与给定数组形状和类型相同的新数组,请使用 Python Numpy 中的 numpy.empty_like() 方法。该方法返回一个未初始化(任意)数据的数组,其形状和类型与原型相同。此处的第一个参数是原型(类数组)的形状和数据类型,它们定义了返回数组的相同属性。我们使用"order"参数设置了顺序。

顺序会覆盖结果的内存布局。"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 设置了顺序。

newArr = np.empty_like(arr, order = 'C')
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"参数设置了顺序。 newArr = np.empty_like(arr, order = 'C') 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]]

[[140556668570992 140556671038576]
[140556668571056 140556668441520]]

[[140556668441712 140556668441776]
[140556668441840 140556668442416]]]

新数组维度...
int64

新数组维度...
3

相关文章