Maison >développement back-end >Tutoriel Python >Comment puis-je créer un tableau NumPy dense avec un type de données spécifique et des valeurs manquantes remplies à partir d'une séquence de listes de longueur variable ?
Remplir les valeurs manquantes dans la conversion de tableau NumPy
Lors de la conversion d'une séquence Python de listes de longueur variable en un tableau NumPy, le tableau résultant est souvent suppose un type de données objet en raison de la longueur variable des listes. L'application d'un type de données spécifique, tel que int32, peut entraîner des erreurs.
Pour obtenir efficacement un tableau NumPy dense avec un type de données spécifique et des valeurs manquantes remplies, le module itertools peut être utilisé. Plus précisément, la fonction zip_longest peut être utilisée pour compléter les listes avec une valeur d'espace réservé.
Par exemple, étant donné une séquence v :
v = [[1], [1, 2]]
Pour créer un tableau int32 dense avec des zéros comme placeholder :
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Ce code produit :
array([[1, 0], [1, 2]])
où les valeurs manquantes dans la séquence d'origine sont remplies de zéros. Notamment, pour Python 2, la fonction à utiliser est itertools.izip_longest.
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!