Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Numpy repeat() Function



The Numpy repeat() function is used to repeat elements of an array along a specified axis. This function is very flexible and defined in numpy module. This function either repeats elements by their number of repetitions or a single value for the repetitions of all elements.

The numpy.repeat() function repeats the elements of an array along a specified axis. If the axis is not provided, the array is flattened before repetition. This function is commonly used for data expansion, reshaping arrays, or preparing data for operations that require repeated elements.

Syntax

Following is the syntax of the Numpy repeat() function −

numpy.repeat(array, repeats, axis=None)

Parameters

Following are the parameters of the Numpy repeat() function −

  • array - Input array whose elements are to be repeated.
  • repeats - Number of repetitions for each element. It can be an integer or an array of integers.
  • axis (optional) - The axis along which to repeat elements. If None, the array is flattened before repetition.

Return Values

This function returns a new Numpy array with repeated elements.

Example

Following is a basic example to repeat each element of a 1D NumPy array using Numpy repeat() function −

import numpy as np
my_Array = np.array([11, 22, 33, 44])
New_Array = np.repeat(my_Array, 3)
print("Original Array:", my_Array)
print("Repeated Array:", New_Array)

Output

Original Array: [11 22 33 44]
Repeated Array: [11 11 11 22 22 22 33 33 33 44 44 44]

Example - Repeating Along a Specific Axis

In numpy.repeat() function, we can use the axis parameter to repeat elements along a specific axis.

In the following example, elements of a 2D array are repeated along rows by specifying axis parameter to 0 in numpy.repeat() function −

import numpy as np
my_Array = np.array([[10, 20], [30, 40]])
New_Array = np.repeat(my_Array, 2, axis=0)
print("Original Array:\n", my_Array)
print("Repeated Array:\n", New_Array)

Output

Original Array:
 [[10 20]
 [30 40]]
Repeated Array:
 [[10 20]
 [10 20]
 [30 40]
 [30 40]]

In the following example, elements of a 2D array are repeated along columns by specifying axis parameter to 1 in numpy.repeat() function −

import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.repeat(arr, 2, axis=1)
print("Original Array:\\n", arr)
print("Repeated Array:\\n", new_arr)

Output

Original Array:
 [[1 2]
  [3 4]]
Repeated Array:
 [[1 1 2 2]
  [3 3 4 4]]

Example - Using Array for Repeats

We can specify the number of repetitions for each element using an array. Each element will be repeated the number of times specified in the corresponding position in the repeats array −

import numpy as np
arr = np.array([10, 20, 30])
new_arr = np.repeat(arr, [1, 2, 3])
print("Original Array:", arr)
print("Repeated Array:", new_arr)

Output

Original Array: [10 20 30]
Repeated Array: [10 20 20 30 30 30]

Example - Repeating with Flattening

If the axis parameter is not specified in numpy.repeat() function, the array is flattened before repetition −

import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.repeat(arr, 3)
print("Original Array:\\n", arr)
print("Repeated Array:", new_arr)

Output

Original Array:
 [[1 2]
  [3 4]]
Repeated Array: [1 1 1 2 2 2 3 3 3 4 4 4]

Example - Combining Axis and Repeats

We can combine axis and repeats for customized repetition of elements along a specific axis −

import numpy as np
arr = np.array([[1, 2], [3, 4]])
new_arr = np.repeat(arr, [1, 2], axis=0)
print("Original Array:\\n", arr)
print("Repeated Array:\\n", new_arr)

Output

Original Array:
 [[1 2]
  [3 4]]
Repeated Array:
 [[1 2]
  [3 4]
  [3 4]]
numpy_array_manipulation.htm
Advertisements