總之,是的,inplace = True被認為是有害的對大熊貓有害。此 GitHub 問題明確建議在不久的將來在 api 範圍內棄用 inplace 參數。以下是一些原因:
result = df.some_function1().reset_index().some_function2()
相對於:
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
此外,值得注意的是,pandas 操作預設為 inplace = False 是有原因的。這允許鍊式/函數式語法(例如,df.dropna().rename().sum()),避免昂貴的SettingWithCopy檢查,並在幕後提供一致的行為。
因此,通常建議避免使用 inplace = True 除非你有特定的需求。
以上是pandas 中的 `inplace=True` 有害嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!