pas de prise en charge entre les instances de 'str' et 'float'
Lors de la manipulation de données manquantes pour ci-dessous, les colonnes du fichier csv il jette TypeError.Comment résoudre ce problème ?
trainData.Gender.fillna(trainData.Gender.max(),inplace =True)
trainData.Married.fillna(trainData.Married.max(),inplace=True)
TypeError: '>=' not supported between instances of 'str' and 'float'
trainData.dtypes
Loan_ID object
Gender object
Married object
Dependents object
Education object
Self_Employed object
ApplicantIncome int64
CoapplicantIncome float64
LoanAmount float64
Loan_Amount_Term float64
Credit_History float64
Property_Area object
Loan_Status object
Vous devez vous connecter pour publier un commentaire.
Faire de cette façon vous êtes en train de considérer des données manquantes(NaN, qui sont traités comme des flotteurs) pour chercher la valeur maximale. Donc:
vais essayer de comparer str vs flotteurs.
Que vous devez faire:
J'ai connu le même problème lors de l'essayage de mon modèle.
J'ai fait:
Et il a résolu mon problème. Acceptez @VictorGGI mots ci-dessus. Les valeurs manquantes est pris comme
float
, tandis que d'autres sontstr
.J'ai fait face à un très même problème avec le message d'erreur disant: "< " pas de prise en charge entre les instances de ‘flotter’ et ‘str’
J'ai essayé de calculer la mode dans une colonne nommée "Outlet_Size' pour des valeurs dans une autre colonne nommée "Outlet_Type" dans un dataset je suis en train de travailler sur.
Comme il s'est avéré, les valeurs manquantes dans la colonne "Outlet_Size" (que j'ai essayé d'imputer et qui a été le motif derrière le calcul de la moyenne) a été l'obstacle lui-même comme Panda serait de prendre ces valeurs manquantes (ou NaN) comme type float, tandis que le reste des valeurs dans cette colonne ont été cordes et évidemment, il n'était pas en mesure de trouver la mode.
La solution a été de combler les valeurs manquantes par des chaînes vides.
Comme je l'ai fait pour un particulier de la colonne seulement, j'ai utilisé la syntaxe ci-dessus. Si j'ai eu à l'appliquer à l'ensemble du jeu, il aurait été,
Pour plusieurs colonnes de la syntaxe ont été,