Kurz gesagt, ja, inplace = True wird berücksichtigt schädlich bei Pandas. In dieser GitHub-Ausgabe wird ausdrücklich vorgeschlagen, das Inplace-Argument in naher Zukunft API-weit abzulehnen. Hier sind einige Gründe dafür:
result = df.some_function1().reset_index().some_function2()
Im Gegensatz zu:
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
Außerdem Es ist erwähnenswert, dass Pandas-Operationen aus einem bestimmten Grund standardmäßig inplace = False sind. Dies ermöglicht eine verkettete/funktionale Syntax (z. B. df.dropna().rename().sum()), vermeidet teure SettingWithCopy-Prüfungen und sorgt für konsistentes Verhalten hinter den Kulissen.
Daher wird dies allgemein empfohlen Vermeiden Sie die Verwendung von inplace = True, es sei denn, Sie haben einen besonderen Bedarf dafür.
Das obige ist der detaillierte Inhalt vonIst „inplace=True' in Pandas schädlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!