Create a recarray from a list of records in text form in Numpy


To create a recarray from a list of records in text form, use the numpy.core.records.fromrecords() method in Python Numpy. The names is set using the "names" parameter. The field names, either specified as a comma-separated string in the form 'col1, col2, col3', or as a list or tuple of strings in the form ['col1', 'col2', 'col3']. An empty list can be used, in that case default field names (‘f0’, ‘f1’, …) are used.

The first parameter is the data in the same field may be heterogeneous - they will be promoted to the highest data type. The dtype is the valid dtype for all arrays. The formats, names, titles, aligned, byteorder parameters, f dtype is None, these arguments are passed to numpy.format_parser to construct a dtype. If both formats and dtype are None, then this will auto-detect formats. Use list of tuples rather than list of lists for faster processing.

Steps

At first, import the required library −

import numpy as np

Create a new array using the numpy.array() method −

arr1 = np.array([[7, 14, 21], [30, 37, 45]])
arr2 = np.array([[11, 18, 24], [87.5, 65, 23.8]])
arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']])

Display the arrays −

print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3)

Get the type of the arrays −

print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype)

Get the dimensions of the Arrays  −

print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim)

To create a recarray from a list of records in text form, use the numpy.core.records.fromrecords() method in Python Numpy −

print("
Record Array...
",np.core.records.fromrecords([arr1,arr2,arr3], names = 'col1, col2, col3'))

Example

import numpy as np

# Create a new array using the numpy.array() method
arr1 = np.array([[7, 14, 21], [30, 37, 45]])
arr2 = np.array([[11, 18, 24], [87.5, 65, 23.8]])
arr3 = np.array([['12', 'bbb', 'john'], ['5.6', '29', 'k']])

# Display the arrays
print("Array1...
",arr1) print("Array2...
",arr2) print("Array3...
",arr3) # Get the type of the arrays print("
Array1 type...
", arr1.dtype) print("
Array2 type...
", arr2.dtype) print("
Array3 type...
", arr3.dtype) # Get the dimensions of the Arrays print("
Array1 Dimensions...
", arr1.ndim) print("
Array2 Dimensions...
", arr2.ndim) print("
Array3 Dimensions...
", arr3.ndim) # To create a recarray from a list of records in text form, use the numpy.core.records.fromrecords() method in Python Numpy # The names is set using the "names" parameter # The field names, either specified as a comma-separated string in the form 'col1, col2, col3', or as a list or tuple of strings in the form ['col1', 'col2', 'col3']. # An empty list can be used, in that case default field names (‘f0’, ‘f1’, …) are used. print("
Record Array...
",np.core.records.fromrecords([arr1,arr2,arr3], names = 'col1, col2, col3'))

Output

Array1...
[[ 7 14 21]
[30 37 45]]
Array2...
[[11. 18. 24. ]
[87.5 65. 23.8]]
Array3...
[['12' 'bbb' 'john']
['5.6' '29' 'k']]

Array1 type...
int64

Array2 type...
float64

Array3 type...
<U4

Array1 Dimensions...
2

Array2 Dimensions...
2

Array3 Dimensions...
2

Record Array...
[[('7', '14', '21') ('30', '37', '45')]
[('11.0', '18.0', '24.0') ('87.5', '65.0', '23.8')]
[('12', 'bbb', 'john') ('5.6', '29', 'k')]]

Updated on: 10-Feb-2022

65 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements