Ringkasnya, ya, inplace = Benar dianggap berbahaya pada panda. Isu GitHub ini secara eksplisit mencadangkan penamatan hujah inplace api-wide dalam masa terdekat. Berikut ialah beberapa sebab mengapa:
result = df.some_function1().reset_index().some_function2()
Berbanding dengan:
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
Selain itu, perlu diperhatikan bahawa operasi panda secara lalai ke inplace = Palsu atas sebab tertentu. Ini membenarkan sintaks berantai/berfungsi (cth., df.dropna().rename().sum()), mengelakkan semakan SettingWithCopy yang mahal dan menyediakan gelagat yang konsisten di sebalik tabir.
Oleh itu, pada umumnya disyorkan untuk elakkan menggunakan inplace = Benar melainkan anda mempunyai keperluan khusus untuknya.
Atas ialah kandungan terperinci Adakah `inplace=True` dalam panda Memudaratkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!