J'ai un dataframe dans les pandas et j'essaie de comprendre quels sont les types de ses valeurs. Je ne sais pas quel est le type de colonne 'Test'
. Cependant, quand je cours myFrame['Test'].dtype
, je reçois;
dtype('O')
Qu'est-ce que ça veut dire?
pandas
utilise librementobject
dtype lorsque les colonnes contiennent des valeurs mixtes (chaînes, nombres, nan).Réponses:
Ça veut dire:
Source .
Une autre réponse aide si besoin est de vérifier
type
s.la source
Lorsque vous voyez à l'
dtype('O')
intérieur du dataframe, cela signifie une chaîne de Pandas.Qu'est-ce que c'est
dtype
?Quelque chose qui appartient à
pandas
ounumpy
, ou aux deux, ou à autre chose? Si nous examinons le code des pandas:Il sortira comme ceci:
Vous pouvez interpréter le dernier comme un
dtype('O')
objet Pandas ou Pandas qui est une chaîne de type Python, et cela correspond à Numpystring_
, ouunicode_
types.Comme Don Quixote est sur le cul, Pandas est sur Numpy et Numpy comprend l'architecture sous-jacente de votre système et utilise la classe
numpy.dtype
pour cela.L'objet de type de données est une instance de
numpy.dtype
classe qui comprend le type de données plus précisément, notamment:Dans le contexte de cette question
dtype
appartient à la fois aux pands et à numpy et en particulierdtype('O')
signifie que nous attendons la chaîne.Voici un code pour tester avec une explication: Si nous avons l'ensemble de données comme dictionnaire
Les dernières lignes examineront la trame de données et noteront la sortie:
Tout genre de différent
dtypes
Mais si nous essayons de définir
np.nan
ouNone
cela n'affectera pas le dtype de la colonne d'origine. La sortie sera comme ceci:Donc
np.nan
ouNone
ne changera pas les colonnesdtype
, sauf si nous définissons toutes les lignes de colonne surnp.nan
ouNone
. Dans ce cas, la colonne deviendrafloat64
ouobject
respectivement.Vous pouvez également essayer de définir des lignes uniques:
Et à noter ici, si nous définissons une chaîne dans une colonne non chaîne, elle deviendra une chaîne ou un objet
dtype
.la source
Cela signifie "un objet python", c'est-à-dire pas un des types scalaires intégrés pris en charge par numpy.
la source
«O» signifie objet .
La première ligne renvoie:
dtype('O')
La ligne avec l'instruction print renvoie ce qui suit:
object
la source