Dans Pandas, l'objet dtype signifie une colonne contenant des objets. Cependant, cela peut prêter à confusion lorsque tous les éléments de la colonne semblent être des chaînes.
Le type d'objet provient de l'implémentation ndarray de NumPy. Dans NumPy, les tableaux doivent avoir des éléments de taille uniforme en octets. Étant donné que les chaînes ont des longueurs variables, Pandas stocke les chaînes sous forme de pointeurs vers des objets dans un ndarray d'objets. Cela donne le type d'objet.
Considérez l'exemple suivant :
import numpy as np import pandas as pd # Create an int64 ndarray int_arr = np.array([1, 2, 3, 4], dtype=np.int64) # Create an object ndarray containing pointers to string objects obj_arr = np.array(['a', 'b', 'c', 'd'], dtype=object) # Convert obj_arr to a Pandas DataFrame df = pd.DataFrame({'int_col': int_arr, 'obj_col': obj_arr}) # Check data types print(df.dtypes)
Sortie :
int_col int64 obj_col object
Comme vous pouvez le voir , bien que tous les éléments soient des chaînes, obj_col a un type d'objet en raison de l'utilisation de pointeurs dans le ndarray.
Le type d'objet dans Pandas DataFrames découle de l'implémentation sous-jacente de ndarray. Bien qu'il englobe des chaînes, il est important de noter que les chaînes ne sont pas explicitement représentées comme un type de données distinct. Au lieu de cela, ils sont stockés sous forme de pointeurs vers des objets dans des tableaux d'objets.
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!