总之,是的,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中文网其他相关文章!