"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo combinar matrices NumPy con diferentes tipos de datos conservando los tipos de datos?

¿Cómo combinar matrices NumPy con diferentes tipos de datos conservando los tipos de datos?

Publicado el 2024-11-07
Navegar:210

How to Combine NumPy Arrays with Different Datatypes While Preserving Data Types?

Combinación de matrices con múltiples tipos de datos en NumPy

El deseo de concatenar matrices que contienen diferentes tipos de datos en una sola matriz con los tipos de datos correspondientes en cada columna plantea un desafío. Desafortunadamente, un enfoque común, el uso de np.concatenate(), convierte toda la matriz al tipo de datos de cadena, lo que genera ineficiencias en la memoria.

Para superar esta limitación, una solución viable implica emplear matrices de registros o matrices estructuradas.

Matrices de registros

Las matrices de registros permiten acceder a campos de datos individuales a través de atributos. Al especificar el tipo de datos de cada campo, se pueden combinar varios tipos de datos en una sola matriz:

import numpy as np

a = np.array(['a', 'b', 'c', 'd', 'e'])
b = np.arange(5)
records = np.rec.fromarrays((a, b), names=('keys', 'data'))

print(records)

Salida:

rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])

Matrices estructuradas

Las matrices estructuradas son similar, ofreciendo la posibilidad de definir el tipo de datos de cada columna. Sin embargo, no admiten el acceso a atributos como matrices de registros:

arr = np.array([('a', 0), ('b', 1)], 
                      dtype=([('keys', '|S1'), ('data', 'i8')]))

print(arr)

Salida:

array([('a', 0), ('b', 1)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])

Elección entre registros y matrices estructuradas

La elección entre matrices de registros y matrices estructuradas depende de los casos de uso individuales. Las matrices de registros brindan comodidad con el acceso a atributos, mientras que las matrices estructuradas pueden ser preferidas para estructuras de datos más complejas. Ambos enfoques ofrecen una manera conveniente de combinar matrices con diferentes tipos de datos en NumPy, brindando flexibilidad y eficiencia en la manipulación de datos.

Declaración de liberación Este artículo se reimprime en: 1729504697 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3