Numpy recarray.tobytes () function | python

Arrays | NumPy | Python Methods and Functions

Record arrays allow you to access fields as elements of an array using arr.a and arr.b numpy.recarray.tobytes () Python bytes, containing the raw data bytes in an array.

Syntax: numpy.recarray.tobytes (order = `C`)

Parameters:
order: [`C`, `F`, None, optional] Order of the data for multidimensional arrays: C , Fortran, or the same as for the original array.

Return: [bytes] Python bytes exhibiting a copy of record array`s raw data.

Code # 1:

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

  
# import numy like g ike

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 ), ( `b` , int )])

 

print ( "Input array:" , in_arr )

 
# convert it to 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)

 
# using recarray.tobytes methods
# arrange array of posts in default order

out_arr = rec_arr.a.tobytes ( )

print ( "Output Python bytes of float record array in default order " , out_arr) 

print ()

 
# using recarray.tobytes methods
# output an array of records in fortan order

out_arr = rec_arr.a.tobytes (order = `F` )

print ( "Output Python bytes of float record array in fortan order" , out_arr) 

print ()

 
# applying recarray.tobytes methods
# into an array of int entries in default order

out_arr =   rec_arr.b.tobytes ()

print ( "Output Python bytes of int record array in default order" , out_arr) 

print ()

 
# applying recarray.tobytes methods
# into an array of int records in fortan order

out_arr = rec_arr.b.tobytes (order = `F` )

print ( "Output Python bytes of int record array in fortan order" , out_arr) 

Exit:

I nput 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 Python bytes of float record array in default order b`x00x00x00x00x00x00x14 @ x00x00x00x00x00x00x08 @ x00x00x00x00x00x00x18 @ x00x00x00x00x00x00 ″ @ x00x00x00x00 python bytes of float record array in fortan order b`x00x00x00x00x00x00x14 @ x00x00x00x00x00x00 "@ x00x00x00x00x00x00x08 @ x00x00x00x00x00x00x14 @ x00x00x00x00x00x00x18 @ x00x00x00x00x00x00 (xc0 `

Output python bytes of int record array in default order b`x02x00x00x00xfcxffxffxff x00x00x00x01x00x00x00x04x00x00x00xf9xffxffxff`

Output Python bytes of int record array in fortan order b`x02x00x00x00x01x00x00x00xfcxffxffxffx04x00x00x00 x00x00x00xf9xffxffxff `

Code # 2: We

apply numpy.recarray.tobytes () to the entire array of records. < / p>

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

 
# import 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 array:" , in_arr)

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

rec_arr = in_arr.view (geek.recarray)

  
# applying recarray.tobytes methods to
# writing array in default order

out_arr = rec_arr.tobytes ()

print ( "Output Python bytes of record array in default order" , out_arr) 

 print ()

 
# applying recarray.tobytes methods to
# array of records in fortan order

out_arr = rec_arr.tobytes (order = `F` )

print ( " Output Python bytes of record array in fortan order " , out_arr) 

Output:

Input array: [[(5. , 2) (3., 4) (6., -7)]
[(9., 1) (6., 4) (-2., -7)]]
Output Python bytes of record array in default order b`x00x00x00x00x00x00x14 @ x02x00x00x00x00x00x00x00x00x00x08 @ x04x00x00x00x00x00x00x00x00x00x18 @ xf9xffxffxffx00x00x00x00x00x00 ″ x00x00x00x18 @ x04x00x00x00x00x00x00x00x00x00x00xc0xf9xffxffxff `

Output Python bytes of record array in fortan order b`x00x00x00x00x00x00x14 @ x02x00x00x00x00x00x00x00x00x00 "@ x01x00x00x00x00x00x00x00x00x00x08 @ x04x00x00x00x00x00x00x00x00x00x18 @ x04x00x00x00x00x00x00x00x00x00x18 @ xf9xffxffxffx00x00x00x00x00x00x00xc0xf9xffxffxff`



Get Solution for free from DataCamp guru