"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 puedo convertir una lista de listas en una matriz NumPy uniforme?

¿Cómo puedo convertir una lista de listas en una matriz NumPy uniforme?

Publicado el 2024-11-06
Navegar:601

How Can I Convert a List of Lists into a Uniform NumPy Array?

Convertir una lista de listas en una matriz NumPy

Una tarea común en el análisis de datos es convertir una lista de listas en una matriz NumPy para operaciones numéricas eficientes. Esta matriz se puede formar asignando cada lista a una fila, con cada elemento de la lista ocupando una columna.

Opción 1: Matriz de matrices

Si las sublistas tienen longitudes variables, un enfoque adecuado es crear una matriz de matrices. Esto preserva la estructura original de la lista de listas, lo que facilita la recuperación de elementos específicos o la realización de operaciones en sublistas individuales.

x = [[1, 2], [1, 2, 3], [1]]
y = numpy.array([numpy.array(xi) for xi in x])

Opción 2: Matriz de listas

Un método alternativo es crear un conjunto de listas. Este enfoque mantiene la estructura de la lista de listas, con cada sublista representada como una lista dentro de la matriz.

x = [[1, 2], [1, 2, 3], [1]]
y = numpy.array(x)

Opción 3: Longitudes de lista uniformes

Si es esencial que las sublistas tengan longitudes uniformes, es posible rellenar listas más cortas con Ninguna valores. Esto crea una matriz rectangular con dimensiones consistentes.

x = [[1, 2], [1, 2, 3], [1]]
length = max(map(len, x))
y = numpy.array([xi   [None] * (length - len(xi)) for xi in x])
Declaración de liberación Este artículo se reimprime en: 1729400417 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