"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-07
Parcourir:365

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

Combinaison de 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, entraînant des inefficacités de mémoire.

Pour surmonter cette limitation, une solution viable consiste à utiliser des tableaux d'enregistrements 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 :

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)

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 similaire, 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 :

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

print(arr)

Sortie :

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

Choisir entre des 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.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729504697. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3