Maison > développement back-end > Tutoriel Python > Comment créer un tableau NumPy dense à partir de listes de longueur variable ?

Comment créer un tableau NumPy dense à partir de listes de longueur variable ?

Susan Sarandon
Libérer: 2024-11-04 08:32:01
original
1003 Les gens l'ont consulté

How to Create a Dense NumPy Array from Variable-Length Lists?

Génération d'un tableau NumPy dense à partir de listes de longueur variable

La conversion standard d'une séquence Python contenant des listes de longueur variable en un tableau NumPy crée un tableau de type objet. L’application d’un autre type de données génère une ValueError. Cet article démontre une méthode efficace pour générer un tableau NumPy dense de type int32 en remplissant les valeurs manquantes avec un espace réservé.

Pour convertir une séquence de liste de longueur variable en un tableau NumPy, on peut utiliser le itertools.zip_longest fonction du module itertools. Cette fonction parcourt les listes, s'arrêtant lorsque la liste la plus courte est épuisée. Il remplit les valeurs manquantes dans des listes plus longues avec une valeur d'espace réservé spécifiée par l'argument fillvalue.

Par exemple, considérons la séquence suivante de listes de longueur variable :

v = [[1], [1, 2]]
Copier après la connexion

Pour générer un NumPy dense tableau de cette séquence, avec une valeur d'espace réservé de 0, on peut utiliser le code suivant :

<code class="python">import itertools
np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Copier après la connexion

La sortie de ce code sera un tableau NumPy de type int32, avec les valeurs manquantes remplacées par 0 :

array([[1, 0],
       [1, 2]])
Copier après la connexion

Cette méthode fournit un moyen efficace de gérer des listes de longueur variable lors de leur conversion en tableaux NumPy, garantissant la cohérence des types de données et remplissant les valeurs manquantes avec les espaces réservés souhaités.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal