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

Susan Sarandon
Libérer: 2024-10-21 17:59:18
original
527 Les gens l'ont consulté

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

Sortie :

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

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

Sortie :

array([('a', 0), ('b', 1)], 
      dtype=[('keys', '|S1'), ('data', '<i8')])
Copier après la connexion

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!

source:php
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!