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]]
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>
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]])
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!