Numpy recarray.repeat () function | python



numpy.recarray.repeat() is used to repeat elements of an array of records.

Syntax: numpy.recarray.repeat (repeats, axis = None)

Parameters:
repeats: [int or array of ints] The number of repetitions for each element.
axis: [int or None] The axis along which to repeat values. If None, the array is flattened before repeating.

Return: [ndarray] Output array which has the same shape as record array, except along the given axis.

Code # 1:

# Python program explaining
# numpy.recarray.repeat () method

 
# import numy as geek

import numpy as geek

 
# create an input array with two different fields

in_arr = geek.array ([[( 5.0 , 2 ), ( 3.0 , - 4 ), ( 6.0 , 9 )],

  [( 9.0 , 1 ), ( 5.0 , 4 ), ( - 12.0 , - 7 )]],

dtype = [( `a` , float < / code> ), ( `b` , int )])

 

print ( "Input array:" , in_arr)

  
# convert it to an array of posts,
# using arr.view (np.recarray)

rec_arr = in_arr.view (geek.recarray)

print ( "Record array of float:" , rec_arr.a)

print ( "Record array of int:" , rec_arr.b)

 
# applying recarray.repeat methods
# place an array of posts along axis 1

out_arr = rec_arr.a.repeat ( 3 , axis = 1 )

print ( "Output repeated float array along axis 1:" , out_arr) 

 
# applying recarray.repeat methods
# place an array of posts along the default axis

out_arr = rec_arr.a.repeat ( 2 )

print ( "Output repeated float array along default axis:" , out_arr) 

 
# applying recarray.repeat methods
# into an array of int records along the 0 axis

out_arr = rec_arr.b.repeat ( 2 , axis = 0 )

print ( "Output repeated int array along axis 0:" , out_arr) 

 
# applying recarray.repeat methods
# to an array of int records by default

out_arr = rec_arr.b.repeat ( 2 )

print ( "Output repeated int array along default axis:" , out_arr) 

Output:

Input array: [[(5., 2) (3., -4) (6., 9)]
[(9., 1) (5., 4) ( -12., -7)]]
Record array of float: [[5. 3. 6.]
[9. 5. -12.]]
Record array of int: [[2 -4 9]
[1 4 -7]]

Output repeated float array along axis 1: [[5. 5. 5. 3. 3. 3. 6. 6 . 6.]
[9. 9. 9. 5. 5. 5. -12. -12. -12.]]
Output repeated float array along default axis: [5. 5. 3. 3. 6. 6. 9. 9. 5. 5. -12. -12.]
Output repeated int array along axis 0: [[2 -4 9]
[2 -4 9]
[1 4 -7]
[1 4 -7]]
Output repeated int array along default axis: [2 2 -4 -4 9 9 1 1 4 4 -7 -7]

Code no. 2:

We are applying numpy.recarray.repeat () to the entire array of records.

# Python program explaining
# numpy.recarray.repeat () method

  
# importing numy as a geek

import numpy as geek

 
# create an input array with two different fields

in_arr = geek.array ([[( 5.0 , 2 ), ( 3.0 , 4 ), ( 6.0 , - 7 )],

[( 9.0 , 1 ), ( 6.0 , 4 ), ( - 2.0 , - 7 )]],

dtype = [( ` a` , float ), ( `b` , int )])

 

print ( "Input record array:" , in_arr)

 
# convert it to array of posts,
# using arr.view (np.recarray)

rec_arr = in_arr.view (geek.recarray)

 
# using recarray.repeat methods to write an array

out_arr =   rec_arr.repeat ( 3 )

 

print ( " Output record array: " , out_arr)

Output:

Input record array: [[(5., 2) (3., 4) (6., -7) ]
[(9., 1) (6., 4) (-2., -7)]]

Output repeated record array:
[(5., 2 ) (5., 2) (5., 2) (3., 4) (3., 4) (3., 4) (6., -7)
(6., -7) ( 6., -7) (9., 1) (9., 1) (9., 1) (6., 4) (6., 4)
(6., 4) (-2. , -7) (-2., -7) (-2., -7)]