Maison  >  Article  >  développement back-end  >  Comment stocker plusieurs types de données dans un seul tableau NumPy avec des types de données d'origine préservés ?

Comment stocker plusieurs types de données dans un seul tableau NumPy avec des types de données d'origine préservés ?

DDD
DDDoriginal
2024-10-21 17:56:45646parcourir

How to Store Multiple Data Types in a Single NumPy Array with Preserved Original Data Types?

Stockage de plusieurs types de données dans un seul tableau NumPy

Vous êtes confronté au défi de combiner deux tableaux, l'un contenant des chaînes et l'autre contenant des entiers, dans un seul tableau. Bien que votre approche actuelle consistant à utiliser np.concatenate entraîne la conversion de l'ensemble du tableau en type de chaîne, vous recherchez une solution plus efficace.

Enregistrer les tableaux :

Un Une approche efficace consiste à exploiter les tableaux d’enregistrements. Cela vous permet de créer des « colonnes » qui préservent leurs types de données d'origine. Les tableaux d'enregistrements sont construits à l'aide de la fonction numpy.rec.fromarrays et prennent des tableaux représentant chaque colonne avec leurs noms de champs correspondants.

<code class="python">import numpy as np

a = np.array(['a', 'b', 'c', 'd', 'e'])
b = np.arange(5)

records = np.rec.fromarrays((a, b), names=('keys', 'data'))

print(records)
# rec.array([('a', 0), ('b', 1), ('c', 2), ('d', 3), ('e', 4)], 
#      dtype=[('keys', '|S1'), ('data', '<i8')])</code>

Tableaux structurés :

Un autre L'option consiste à utiliser des tableaux structurés, qui sont déclarés avec un type de données personnalisé. Bien qu'ils ne disposent pas de l'accès aux attributs fourni par les tableaux d'enregistrements, ils offrent une représentation plus efficace.

<code class="python">arr = np.array([('a', 0), ('b', 1)], 
                      dtype=([('keys', '|S1'), ('data', 'i8')]))

print(arr)
# array([('a', 0), ('b', 1)], 
#      dtype=[('keys', '|S1'), ('data', '<i8')])</code>

En employant des enregistrements ou des tableaux structurés en fonction de vos besoins spécifiques, vous pouvez stocker efficacement plusieurs types de données dans un seul NumPy. tableau tout en conservant leurs types d'origine.

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!

Déclaration:
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