Pourquoi les chaînes dans les DataFrames Pandas apparaissent-elles comme des objets même après la conversion ?

Patricia Arquette
Libérer: 2024-10-25 21:25:29
original
998 Les gens l'ont consulté

 Why do Strings in Pandas DataFrames Appear as Objects Even After Conversion?

Pourquoi les chaînes d'un DataFrame sont-elles stockées en tant qu'objets ?

Malgré la conversion explicite des colonnes DataFrame contenant des chaînes en type de données chaîne, la bibliothèque Pandas de Python peut toujours les signaler comme objets. Cette différence est due aux structures de données sous-jacentes de NumPy.

NumPy utilise des ndarrays pour stocker des tableaux de données, chaque élément d'un ndarray ayant un nombre fixe d'octets. Pour les entiers (int64) et les nombres à virgule flottante (float64), chaque élément occupe 8 octets. Cependant, les chaînes ont des longueurs variables, ce qui rend difficile leur stockage directement dans un ndarray.

Pour répondre à cela, Pandas utilise des ndarrays d'objets pour stocker des pointeurs vers des objets. Ces objets contiennent les valeurs de chaîne réelles. Par conséquent, les ndarrays d'objets ont une taille indéterminée et sont représentés comme le type de données « objet ».

Exemple :

Considérons un tableau int64 contenant quatre 64 bits des entiers et un tableau d'objets contenant quatre pointeurs vers trois objets chaîne :

int64 array: | 1 | 2 | 3 | 4 |
object array: | pointer to "hello" | pointer to "world" | pointer to "!" |

Visualization:

+---------+-----------+
| int64    |  object   |
|---------+-----------|
| 1        | hello     |
| 2        | world     |
| 3        | !         |
| 4        | null      |
+---------+-----------+
Copier après la connexion

Dans cette représentation, le tableau int64 occupe une quantité d'espace fixe, chaque élément faisant 8 octets. D'autre part, le tableau d'objets stocke des pointeurs vers des objets de différentes tailles, d'où le type de données « objet ».

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
À 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!