Maison  >  Article  >  développement back-end  >  Comment combiner des tableaux NumPy avec différents types de données tout en préservant les types de données ?

Comment combiner des tableaux NumPy avec différents types de données tout en préservant les types de données ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-21 17:59:18513parcourir

How to Combine NumPy Arrays with Different Datatypes While Preserving Data Types?

Combiner des tableaux avec plusieurs types de données dans NumPy

Le désir de concaténer des tableaux contenant différents types de données en un seul tableau avec les types de données correspondants dans chaque colonne pose un défi. Une approche courante, utilisant np.concatenate(), convertit malheureusement l'intégralité du tableau en type de données chaîne, ce qui entraîne des inefficacités de mémoire.

Pour surmonter cette limitation, une solution viable consiste à utiliser des tableaux d'enregistrement ou des tableaux structurés.

Tableaux d'enregistrements

Les tableaux d'enregistrements permettent d'accéder à des champs de données individuels via des attributs. En spécifiant le type de données de chaque champ, plusieurs types de données peuvent être combinés dans un seul tableau :

<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)</code>

Sortie :

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

Tableaux structurés

Les tableaux structurés sont similaires, offrant la possibilité de définir le type de données de chaque colonne. Cependant, ils ne prennent pas en charge l'accès aux attributs comme les tableaux d'enregistrement :

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

print(arr)</code>

Sortie :

array([('a', 0), ('b', 1)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])

Choisir entre les tableaux d'enregistrement et structurés

Le choix entre les tableaux d'enregistrements et les tableaux structurés dépend des cas d'utilisation individuels. Les tableaux d'enregistrements facilitent l'accès aux attributs, tandis que les tableaux structurés peuvent être préférés pour les structures de données plus complexes. Les deux approches offrent un moyen pratique de combiner des tableaux avec différents types de données dans NumPy, offrant ainsi flexibilité et efficacité dans la manipulation des données.

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