Return a new array with the same shape and type as a given array and change the order to K style in Numpy

NumpyServer Side ProgrammingProgramming

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 'K' style using the "order" parameter. ‘K’ means match the layout of prototype as closely as possible.

The order overrides the memory layout of the result. ‘C’ means C-order, ‘F’ means F-order, ‘A’ means ‘F’ if prototype is Fortran contiguous, ‘C’ otherwise. ‘K’ means match the layout of prototype as closely as possible. The shape overrides the shape of the result. If order=’K’ and the number of dimensions is unchanged, will try to keep order, otherwise, order=’C’ is implied. The overrides parameter overrides the data type of the result.

The subok parameter, if True, then the newly created array will use the sub-class type of prototype, otherwise it will be a base-class array. Defaults to True.

Steps

At first, import the required library −

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...\n",arr)

Get the type of the array −

print("\nArray type...\n", arr.dtype)

Get the dimensions of the Array −

print("\nArray Dimensions...\n", 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. Return the array of uninitialized (arbitrary) data with the same shape and type as prototype. We have set the order to 'K' style using the "order" parameter −

newArr = np.empty_like(arr, order = 'K')
print("\nNew Array..\n", newArr)

Get the type of the new array −

print("\nNew Array type...\n", newArr.dtype)

Get the dimensions of the new array −

print("\nNew Array Dimensions...\n", newArr.ndim)

Example

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...\n",arr)

# Get the type of the array
print("\nArray type...\n", arr.dtype)

# Get the dimensions of the Array
print("\nArray Dimensions...\n", 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 'K' style using the "order" parameter.
# ‘K’ means match the layout of prototype as closely as possible.
newArr = np.empty_like(arr, order = 'K')
print("\nNew Array..\n", newArr)

# Get the type of the new array
print("\nNew Array type...\n", newArr.dtype)

# Get the dimensions of the new array
print("\nNew Array Dimensions...\n", newArr.ndim)

Output

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]]

[[140451415756208 140451415756144]
[140451415756272 140451415626672]]

[[140451415626864 140451415626928]
[140451415626992 140451415627568]]]

New Array type...
int64

New Array Dimensions...
3
raja
Updated on 08-Feb-2022 07:16:40

Advertisements