Create a recarray from a list of records in text form and fetch arrays based on index 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 datatype is set using the "dtype" parameter.

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.3, 18.7, 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 shape 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 −

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

Fetch array values −

print("
Fetching the array1...
",rec[0]) print("
Fetching the array2...
",rec[1]) print("
Fetching the array3...
",rec[2])

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.3, 18.7, 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. # The datatype is set using the "dtype" parameter rec = np.core.records.fromrecords([arr1,arr2,arr3], names = 'col1, col2, col3') print("
Record Array...
",rec) print("
Fetching the array1...
",rec[0]) print("
Fetching the array2...
",rec[1]) print("
Fetching the array3...
",rec[2])

Output

Array1...
[[ 7 14 21]
[30 37 45]]
Array2...
[[11.3 18.7 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.3', '18.7', '24.0') ('87.5', '65.0', '23.8')]
[('12', 'bbb', 'john') ('5.6', '29', 'k')]]

Fhing the array1...
[('7', '14', '21') ('30', '37', '45')]

Fhing the array2...
[('11.3', '18.7', '24.0') ('87.5', '65.0', '23.8')]

Fhing the array3...
[('12', 'bbb', 'john') ('5.6', '29', 'k')]

Updated on: 10-Feb-2022

201 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements