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


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 using the "order" parameter.

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...
",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. We have set the order 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)

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

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

[[140556668570992 140556671038576]
[140556668571056 140556668441520]]

[[140556668441712 140556668441776]
[140556668441840 140556668442416]]]

New Array type...
int64

New Array Dimensions...
3

Updated on: 10-Feb-2022

83 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements