Maison >développement back-end >Tutoriel Python >Est-ce que `inplace=True` dans les pandas est nocif ?
En bref, oui, inplace = True est considéré nocif chez les pandas. Ce problème GitHub propose explicitement de déprécier l'argument inplace à l'échelle de l'API dans un avenir proche. Voici quelques raisons pour lesquelles :
result = df.some_function1().reset_index().some_function2()
Par opposition à :
temp = df.some_function1() temp.reset_index(inplace=True) result = temp.some_function2()
df = pd.DataFrame({'a': [3, 2, 1], 'b': ['x', 'y', 'z']}) df2 = df[df['a'] > 1] df2['b'].replace({'x': 'abc'}, inplace=True) # SettingWithCopyWarning: # A value is trying to be set on a copy of a slice from a DataFrame
De plus, il convient de noter que les opérations pandas sont par défaut inplace = False pour une raison. Cela permet une syntaxe chaînée/fonctionnelle (par exemple, df.dropna().rename().sum()), évite les vérifications coûteuses de SettingWithCopy et fournit un comportement cohérent en coulisses.
Par conséquent, il est généralement recommandé de évitez d'utiliser inplace = True sauf si vous en avez un besoin spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!