Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Interrogation sur les chained indexing

+1 vote

Voici un extrait de code (simplifié pour exposé juste le probleme)

import pandas as pd
import sklearn as sk
import os
from sklearn.metrics import accuracy_score
from sklearn.tree import export_graphviz

#import des fichiers
test_o = pd.read_csv("C:/Users/test.csv")

test_r=test_o
test_r= pd.get_dummies(test_r,columns=['Sex','Pclass','Embarked','SibSp','Parch'])

features = ['Fare','Sex_male','Sex_female']
X=test_r[features]
test_tr = test_r[features]
test_tr['Fare'].fillna(value=-1,inplace=True)

j'ai l'erreur suivante:

SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
self.updateinplace(new_data)

(oui j'ai essayé de comprendre la doc)
j'ai constaté qu'en modifiant le code comme suit, je n'ai plus d'erreur

test_tr = test_r[features]
#je tranforme la ligne du dessus en celle de dessous
test_tr = test_r[features].copy()
  • Pourquoi ai-je ce warning?
  • Quel est la bonne facon de faire pour affecter une valeur a tout les na d'une colonne une valeur?
  • Si vous voyez des aberrations dans mon code ou des bonnes pratiques que je ne n'applique pas ... je suis preneur, j'ai certes plusieurs années de dev mais le python c'est assez nouveau pour moi
demandé 12-Jan par beginner (114 points)

Votre réponse

Preview

Votre nom à afficher ( en option ):
Vie privée: . Votre adresse de messagerie ne sera utilisée que pour l'envoi de ces notifications .
Vérification anti -spam:
Pour éviter cette vérification à l'avenir, Connectez vous ou inscrivez vous.
...