ホームページ >バックエンド開発 >Python チュートリアル >パンダの「inplace=True」は有害ですか?
要するに、はい、inplace = True は考慮されます。パンダにとっては有害。この GitHub の問題は、近い将来 API 全体でインプレース引数を非推奨にすることを明示的に提案しています。その理由は次のとおりです。
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さらに、パンダの操作がデフォルトで inplace = False になるのには理由があることに注意してください。これにより、連鎖/関数型構文 (例: df.dropna().rename().sum()) が可能になり、高価な SettingWithCopy チェックが回避され、舞台裏で一貫した動作が提供されます。
したがって、一般的には次のことが推奨されます。特に必要がない限り、inplace = True の使用は避けてください。
以上がパンダの「inplace=True」は有害ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。