TypeError: '>=' not supported between instances of 'str' and 'float'

Bonjour,

Petite fonction pour creer une colonne supplementaire qui servira de Y.
La fonction par elle-meme, fonctionne mais lorsque mais je l’appelle avec df.apply et les 3 features, j’ai un pb de format visiblement.
Les 3 colonnes/features que j’utilise dans df ont bien un type float64, visible ds df.info().

Que vous dire de +, a par merci par avance si qq peut s’y pencher

Merci
Eric


CREATION de la variable Cible, status SuperHost

def IsSuperHost (score,response,reviews):

if (score >=96.0) & (response >=90.0) & (reviews >=10.0) :
return 1
else :
return 0

#IsSuperHost (96, 91, 15)

df[‹ superhost ›] = df.apply (IsSuperHost (‹ review_scores_rating ›,‹ host_response_rate ›,‹ number_of_reviews ›), axis = 0)
#df[‹ superhost ›] = df.apply (IsSuperHost (96.0, 91.0, 15.0), axis = 0)

Bonjour Eric,

La définition de votre fonction IsSuperHost est bonne. Cependant, elle ne peut prendre en arguments que des données numériques de type float ou int car vous les comparez (à l’aides du comparateur >=) à des nombres flottants (96.0 par exemple).
Ainsi, lors de l’appel de votre fonction, vous ne pouvez pas fournir des arguments de type str tels que 'review_scores_rating', 'host_response_rate', 'number_of_reviews.
Si vous aviez défini auparavant la variable review_scores_rating et que vous lui aviez assigné une valeur numérique, vous pouvez alors l’utiliser comme argument de votre fonction IsSuperHost mais pour cela vous ne devez pas la placer entre guillemets.

J’espère avoir répondu à votre question.
Bonne soirée
Antoine