"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter listas de listas com comprimentos variáveis ​​em um array Numpy em Python?

Como converter listas de listas com comprimentos variáveis ​​em um array Numpy em Python?

Publicado em 2024-11-03
Navegar:323

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

Convertendo uma lista de listas em um array Numpy

Em Python, uma tarefa comum é manipular dados armazenados em listas de listas. Às vezes, é necessário converter esses dados em um formato estruturado como um array Numpy para um processamento eficiente. Aqui, discutimos diferentes abordagens para realizar essa conversão quando as sublistas individuais têm comprimentos variados.

1. Criando uma matriz de matrizes

Sublistas de comprimentos variados podem ser armazenadas como uma matriz de matrizes. Cada sublista é convertida em uma matriz Numpy e, em seguida, essas matrizes são combinadas em uma matriz maior:

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

2. Criando um array de listas

Um array de listas pode ser criado simplesmente convertendo a lista de listas diretamente em um array Numpy:

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

3. Equalizando comprimentos de lista

Se o resultado desejado for uma matriz Numpy com comprimentos de linha iguais, as sublistas podem ser preenchidas com valores None:

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 uma dessas abordagens fornece uma maneira de converter uma lista de listas com comprimentos variados em um Matriz Numpy, dependendo dos requisitos específicos e da estrutura de dados desejada.

Declaração de lançamento Este artigo foi reimpresso em: 1729400536 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3