Problème :
Malgré les tentatives de conversion explicite des colonnes spécifiées dans un DataFrame en chaînes, ils persistent en tant que type « objet ». L'inspection des valeurs de colonnes individuelles confirme qu'il s'agit bien de chaînes.
Int64Index: 56992 entries, 0 to 56991 Data columns (total 7 columns): id 56992 non-null values attr1 56992 non-null values attr2 56992 non-null values attr3 56992 non-null values attr4 56992 non-null values attr5 56992 non-null values attr6 56992 non-null values dtypes: int64(2), object(5) Column 'attr2' remains as dtype 'object' despite conversion: convert attr2 to string
Explication :
Pandas utilise le dtype 'object' pour décrire les colonnes qui contiennent des types de données de longueur variable. , comme les chaînes. Cela diffère des types de données de longueur fixe comme « int64 » et « float64 ». En interne, Pandas stocke les données de chaîne à l'aide de pointeurs vers des objets de chaîne dans un ndarray « objet ».
int64 array: [1, 2, 3, 4] object array: [pointer to string 'John', pointer to string 'Mary', pointer to string 'Bob', pointer to string 'Alice']
L'« objet dtype » n'implique pas que les objets qu'il contient ne sont pas des chaînes. Chaque objet chaîne réside toujours en mémoire et est accessible via les pointeurs du ndarray « objet ».
Pour vous assurer que Pandas reconnaît les colonnes comme des chaînes, assurez-vous que tous les éléments de ces colonnes sont des chaînes cohérentes. De plus, des méthodes telles que .apply(str) ou .astype('string') peuvent être utilisées pour convertir des éléments en chaînes.
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!