Maison  >  Article  >  développement back-end  >  Comment puis-je convertir une liste de listes en un tableau NumPy uniforme ?

Comment puis-je convertir une liste de listes en un tableau NumPy uniforme ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 13:09:02687parcourir

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

Conversion d'une liste de listes en un tableau NumPy

Une tâche courante dans l'analyse des données consiste à convertir une liste de listes en un tableau NumPy pour opérations numériques efficaces. Ce tableau peut être formé en attribuant chaque liste à une ligne, chaque élément de la liste occupant une colonne.

Option 1 : Tableau de tableaux

Si les sous-listes ont des longueurs variables, une approche appropriée consiste à créer un tableau de tableaux. Cela préserve la structure originale de la liste de listes, ce qui facilite la récupération d'éléments spécifiques ou l'exécution d'opérations sur des sous-listes individuelles.

<code class="python">x = [[1, 2], [1, 2, 3], [1]]
y = numpy.array([numpy.array(xi) for xi in x])</code>

Option 2 : Tableau de listes

Une méthode alternative consiste à créer un tableau de listes. Cette approche conserve la structure de la liste des listes, chaque sous-liste étant représentée comme une liste dans le tableau.

<code class="python">x = [[1, 2], [1, 2, 3], [1]]
y = numpy.array(x)</code>

Option 3 : longueurs de liste uniformes

Si il est essentiel que les sous-listes aient des longueurs uniformes, il est possible de compléter des listes plus courtes avec des valeurs None. Cela crée un tableau rectangulaire avec des dimensions cohérentes.

<code class="python">x = [[1, 2], [1, 2, 3], [1]]
length = max(map(len, x))
y = numpy.array([xi + [None] * (length - len(xi)) for xi in x])</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn