Python Pandas-Understanding inplace=True

Dans le pandas bibliothèque plusieurs fois il y a une option pour changer l'objet inplace comme avec la déclaration suivante...

df.dropna(axis='index', how='all', inplace=True)

je suis curieux de savoir ce qui est retourné ainsi que comment l'objet est manipulé quand inplace=True est passé contre quand inplace=False.

est-ce que toutes les opérations modifient self quand inplace=True? Et quand inplace=False est un nouvel objet créé immédiatement comme new_df = self et new_df est de retour?

14
demandé sur Aran Freel 2017-05-10 16:08:21

3 réponses

Quand inplace=True est passé, les données sont renommées en place( il ne retourne rien), donc vous utiliserez:

df.an_operation(inplace=True)

Quand inplace=False est passé (c'est la valeur par défaut, donc n'est pas nécessaire), effectue l'opération et retourne une copie de l'objet, de sorte que vous pouvez utiliser:

df = df.an_operation(inplace=False) 
23
répondu ECH 2018-06-15 15:38:34

La façon dont j'utilise, c'est

# Have to assign back to dataframe (because it is a new copy)
df = df.some_operation(inplace=False) 

Ou

# No need to assign back to dataframe (because it is on the same copy)
df.some_operation(inplace=True)

CONCLUSION:

 if inplace is False
      Assign to a new variable;
 else
      No need to assign
14
répondu Nabin 2018-09-14 04:27:10