在NumPy中返回一个与给定数组具有相同形状和类型的新数组,并将顺序更改为C风格
要返回一个与给定数组具有相同形状和类型的新数组,请在 Python NumPy 中使用 **numpy.empty_like()** 方法。它返回一个未初始化(任意)数据的数组,其形状和类型与原型相同。这里的第一个参数是原型的形状和数据类型(类似数组),它们定义了返回数组的这些相同属性。我们使用“**order**”参数将顺序设置为“C”风格。
order 参数覆盖结果的内存布局。“C”表示 C 顺序,“F”表示 F 顺序,“A”表示如果原型是 Fortran 连续的则为“F”,否则为“C”。“K”表示尽可能接近地匹配原型的布局。shape 参数覆盖结果的形状。如果 order='K' 并且维度数不变,则将尝试保持顺序,否则,将隐含 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("Array...
",arr)
获取数组的类型 -
print("
Array type...
", arr.dtype)
获取数组的维度 -
print("
Array Dimensions...
", arr.ndim)
要返回一个与给定数组具有相同形状和类型的新数组,请在 Python NumPy 中使用 numpy.empty_like() 方法。我们使用“order”参数将顺序设置为“C”风格 -
newArr = np.empty_like(arr, order = 'C') print("
New Array..
", newArr)
获取新数组的类型 -
print("
New Array type...
", newArr.dtype)
获取新数组的维度 -
print("
New Array Dimensions...
", newArr.ndim)
示例
import numpy as np # Creating a numpy Three-Dimensional array using the array() method # We have added elements of int type arr = np.array([[[5,10],[15,20]],[[25,30],[35,40]],[[50,60],[70,80]]]) # Display the array print("Array...
",arr) # Get the type of the array print("
Array type...
", arr.dtype) # Get the dimensions of the Array print("
Array Dimensions...
", arr.ndim) # To return a new array with the same shape and type as a given array, use the numpy.empty_like() method in Python Numpy # It returns the array of uninitialized (arbitrary) data with the same shape and type as prototype. # The 1st parameter here is the shape and data-type of prototype(array-like) that define these same attributes of the returned array. # We have set the order to 'C' style using the "order" parameter. newArr = np.empty_like(arr, order = 'C') print("
New Array..
", newArr) # Get the type of the new array print("
New Array type...
", newArr.dtype) # Get the dimensions of the new array print("
New Array Dimensions...
", newArr.ndim)
输出
Array... [[[ 5 10] [15 20]] [[25 30] [35 40]] [[50 60] [70 80]]] Array type... int64 Array Dimensions... 3 New Array.. [[[ 0 0] [ 0 0]] [[140006423023024 140006423022960] [140006423023088 140006422893488]] [[140006422893680 140006422893744] [140006422893808 140006422894384]]] New Array type... int64 New Array Dimensions... 3
广告