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 ?

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 ?

Susan Sarandon
Libérer: 2024-11-04 03:58:01
original
638 Les gens l'ont consulté

How can I create a dense NumPy array with a specific data type and filled-in missing values from a sequence of variable-length lists?

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]]
Copier après la connexion

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>
Copier après la connexion

Ce code produit :

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

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!

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