"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 convertir listas de listas con longitudes variables en una matriz Numpy en Python?

¿Cómo convertir listas de listas con longitudes variables en una matriz Numpy en Python?

Publicado el 2024-11-03
Navegar:853

How to Convert Lists of Lists with Variable Lengths into a Numpy Array in Python?

Convertir una lista de listas en una matriz Numpy

En Python, una tarea común es manipular los datos almacenados en listas de listas. A veces, resulta necesario convertir estos datos a un formato estructurado como una matriz Numpy para un procesamiento eficiente. Aquí, analizamos diferentes enfoques para realizar esta conversión cuando las sublistas individuales tienen diferentes longitudes.

1. Crear una matriz de matrices

Las sublistas de diferentes longitudes se pueden almacenar como una matriz de matrices. Cada sublista se convierte en una matriz Numpy y luego estas matrices se combinan en una matriz más grande:

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

2. Crear una matriz de listas

Se puede crear una matriz de listas simplemente convirtiendo la lista de listas directamente en una matriz Numpy:

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

3. Igualar longitudes de lista

Si el resultado deseado es una matriz Numpy con longitudes de fila iguales, las sublistas se pueden completar con valores Ninguno:

x=[[1,2],[1,2,3],[1]]
length = max(map(len, x))
y=numpy.array([xi [None]*(length-len(xi)) for xi in x])

Cada uno de estos enfoques proporciona una manera de convertir una lista de listas con diferentes longitudes en una Matriz numerosa, según los requisitos específicos y la estructura de datos deseada.

Declaración de liberación Este artículo se reimprime en: 1729400536 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