Bonjour,
Je ne comprends pas mon erreur.
Quelqu’un aurait-il une solution ?
Merci
Fanny
Bonjour Fanny,
L’erreur indique que votre colonne contient des Nan. Donc il faut d’abord vérifier votre DataFrame.
En fait voici mon code
df.isna().sum()
[df.loc[df[« int_rate »]]>1]/100
df.head(2)
La solution est la suivante
df.loc[df.int_rate>1, ‹ int_rate ›]/=100
Il n’y a apparemment pas de nans dans le df initial car pas de prob en lançant le code
Dans l’ensemble de mes codes je ne mets jamais le " , ‹ int_rate › après la virgule
Je ne comprends d’ailleurs pas à quoi il sert
Mon erreur vient peut-être de là ?
Je cherche à faire une impression pour visualiser la modif mais impossible.
Et je ne comprends pas aussi pourquoi le int_rate qui est une colonne ne s’écrit pas [« int_rate »]
mais simplement ‹ int_rate ›
Bonjour Fanny,
En faisant df.loc[df.int_rate>1]
vous avez un DataFrame avec toutes les colonnes de df et les lignes qui correspondent à un init_rate>1
.
Sinon, si vous faites df.loc[df.int_rate>1, ‹ int_rate ›]
vous avez juste une Série qui contient les valeur de init_rate
qui sont supérieur à 1.
Dans votre solution [df.loc[df[« int_rate »]]>1]/100
vous faites le filtrage de votre DataFrame et vous le convertissez en liste pour le diviser par 100, ce qui ne marche pas.
J’espère que cela répond à votre question
Bonjour Rania
Il semble que j’ai compris.
Je vais refaire les exos à froid pour le vérifier.
Je me retournerai vers vous, si vous le permettez, le cas échéant.
Merci de votre aide
Bonne journée
Fanny