Reduce a multi-dimensional array along given axis in Numpy

NumpyServer Side ProgrammingProgramming

To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy. Here, we have used multiply.reduce() to reduce it to the multiplication of elements. The axis is set using the "axis" parameter. Axis or axes along which a reduction is performed

The numpy.ufunc has functions that operate element by element on whole arrays. The ufuncs are written in C (for speed) and linked into Python with NumPy’s ufunc facility. A universal function (or ufunc for short) is a function that operates on ndarrays in an element-by-element fashion, supporting array broadcasting, type casting, and several other standard features. That is, a ufunc is a "vectorized" wrapper for a function that takes a fixed number of specific inputs and produces a fixed number of specific outputs.

Steps

At first, import the required library −

import numpy as np

Create a multi-dimensional array −

arr = np.arange(27).reshape((3,3,3))

Display the array −

print("Array...\n", arr)

Get the type of the array −

print("\nOur Array type...\n", arr.dtype)

Get the dimensions of the Array −

print("\nOur Array Dimensions...\n",arr.ndim)

To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy. Here, we have used multiply.reduce() to reduce it to the multiplication of elements. The axis is set using the "axis" parameter. Axis or axes along which a reduction is performed −

print("\nResult (multiplication)...\n",np.multiply.reduce(arr, axis = 0))

To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy. Here, we have used add.reduce() to reduce it to the addition of elements. The axis is set using the "axis" parameter. Axis or axes along which a reduction is performed −

print("\nResult (addition)...\n",np.add.reduce(arr, axis = 0))

Example

import numpy as np

# The numpy.ufunc has functions that operate element by element on whole arrays.
# ufuncs are written in C (for speed) and linked into Python with NumPy’s ufunc facility

# Create a multi-dimensional array
arr = np.arange(27).reshape((3,3,3))

# Display the array
print("Array...\n", arr)

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

# Get the dimensions of the Array
print("\nOur Array Dimensions...\n",arr.ndim)

# To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy
# Here, we have used multiply.reduce() to reduce it to the multiplication of elements elements
# The axis is set using the "axis" parameter
# Axis or axes along which a reduction is performed
print("\nResult (multiplication)...\n",np.multiply.reduce(arr, axis = 0))

# To reduce a multi-dimensional array, use the np.ufunc.reduce() method in Python Numpy
# Here, we have used add.reduce() to reduce it to the addition of elements
# The axis is set using the "axis" parameter
# Axis or axes along which a reduction is performed
print("\nResult (addition)...\n",np.add.reduce(arr, axis = 0))

Output

Array...
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]]

[[ 9 10 11]
[12 13 14]
[15 16 17]]

[[18 19 20]
[21 22 23]
[24 25 26]]]

Our Array type...
int64

Our Array Dimensions...
3

Result (multiplication)...
[[ 0 190 440]
[ 756 1144 1610]
[2160 2800 3536]]

Result (addition)...
[[27 30 33]
[36 39 42]
[45 48 51]]
raja
Updated on 07-Feb-2022 10:59:41

Advertisements