La array estructurada de Numpy es similar a Struct en C. Se utiliza para agrupar datos de diferentes tipos y tamaños. La array de estructura utiliza contenedores de datos llamados campos. Cada campo de datos puede contener datos de cualquier tipo y tamaño. Se puede acceder a los elementos de la array con la ayuda de la notación de puntos.
Nota: Arrays con campos con nombre que pueden contener datos de varios tipos y tamaños.
Propiedades de la array estructurada
- Todas las estructuras en la array tienen el mismo número de campos.
- Todas las estructuras tienen los mismos nombres de campo.
Por ejemplo, considere una array estructurada de estudiantes que tiene diferentes campos como nombre, año, calificaciones.
Cada registro en la array estudiante tiene una estructura de clase Struct. La array de una estructura se conoce como estructura ya que agregar cualquier campo nuevo para una nueva estructura en la array contiene la array vacía.
Ejemplo 1:
Python3
# Python program to demonstrate # Structured array import numpy as np a = np.array([('Sana', 2, 21.0), ('Mansi', 7, 29.0)], dtype=[('name', (np.str_, 10)), ('age', np.int32), ('weight', np.float64)]) print(a)
[('Sana', 2, 21.0) ('Mansi', 7, 29.0)]
Ejemplo 2: la array de estructura se puede ordenar utilizando el método numpy.sort() y pasando el orden como parámetro. Este parámetro toma el valor del campo según el cual se debe ordenar.
Python3
# Python program to demonstrate # Structured array import numpy as np a = np.array([('Sana', 2, 21.0), ('Mansi', 7, 29.0)], dtype=[('name', (np.str_, 10)), ('age', np.int32), ('weight', np.float64)]) # Sorting according to the name b = np.sort(a, order='name') print('Sorting according to the name', b) # Sorting according to the age b = np.sort(a, order='age') print('\nSorting according to the age', b)
Sorting according to the name [('Mansi', 7, 29.0) ('Sana', 2, 21.0)] Sorting according to the age [('Sana', 2, 21.0) ('Mansi', 7, 29.0)]
Publicación traducida automáticamente
Artículo escrito por prajaktasd07 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA