Maison > développement back-end > Tutoriel Python > Comment convertir efficacement des séquences Python de longueur variable en tableaux NumPy denses ?

Comment convertir efficacement des séquences Python de longueur variable en tableaux NumPy denses ?

Susan Sarandon
Libérer: 2024-11-06 02:59:02
original
1096 Les gens l'ont consulté

How to Efficiently Convert Variable-Length Python Sequences to Dense NumPy Arrays?

Convertir efficacement des séquences Python de longueur variable en tableaux NumPy denses

La conversion de séquences Python en tableaux NumPy est simple. Cependant, lorsqu'il s'agit de listes de longueur variable, la conversion implicite aboutit à des tableaux de type objet, qui peuvent ne pas être optimaux. De plus, l'application d'un type de données spécifique peut entraîner des exceptions.

Une solution efficace à ce problème consiste à utiliser la fonction itertools.zip_longest. En utilisant zip_longest, on peut facilement créer une séquence de tuples avec des valeurs manquantes remplies à l'aide d'une valeur d'espace réservé. En transposant la liste résultante, un tableau NumPy dense du type de données souhaité peut être obtenu.

Par exemple, considérons la séquence v = [[1], [1, 2]].

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

Ici, la valeur de remplissage de 0 est utilisée pour remplir les valeurs manquantes dans la liste la plus courte.

Pour la compatibilité Python 2, utilisez itertools.izip_longest à la place. Cette approche est efficace et fournit un moyen simple de convertir des séquences Python de longueur variable en tableaux NumPy denses, garantissant la sécurité des types et des performances optimales.

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