Cara Menangani SettingWithCopyWarning dalam Pandas
Apakah itu SettingWithCopyWarning?
>SettingWithCopyWarning ialah a amaran yang berlaku apabila anda cuba menetapkan nilai pada lajur DataFrame yang telah diindeks atau dihiris. Amaran ini dicetuskan kerana Pandas kini lalai untuk membuat salinan DataFrame apabila anda mengindeks atau menghirisnya, dan sebarang perubahan yang anda buat pada salinan itu tidak ditunjukkan dalam DataFrame asal. Ini boleh membawa kepada tingkah laku yang tidak dijangka, terutamanya jika anda cuba merantai operasi pengindeksan atau penghirisan berbilang.
Mengapa SettingWithCopyWarning Berguna?
SettingWithCopyWarning boleh membantu anda elakkan mengubah suai DataFrame asal anda secara tidak sengaja apabila anda hanya berniat untuk membuat perubahan pada salinan ia. Amaran ini amat membantu apabila anda bekerja dengan DataFrames yang besar, kerana ia boleh membantu anda menghalang perubahan yang tidak diingini pada data penting.
Cara Membetulkan TetapanDenganCopyWarning
Di sana adalah dua cara utama untuk memperbaikinya SettingWithCopyWarning:
Gunakan .loc[] atau .iloc[] untuk mengindeks atau menghiris DataFrame anda. Kaedah ini mengembalikan paparan DataFrame, yang membolehkan anda membuat perubahan pada data asas tanpa membuat salinan. Contohnya:-
df.loc[df['A'] > 2, 'B'] = new_val
Salin selepas log masuk
Lumpuhkan SettingWithCopyWarning menggunakan kod berikut:-
Ini akan memberitahu Pandas supaya mengabaikan SettingWithCopyWarning. Walau bagaimanapun, biasanya tidak disyorkan untuk melumpuhkan amaran ini, kerana ia boleh menghalang anda daripada membuat perubahan pada DataFrame asal anda secara tidak sengaja.
pd.options.mode.chained_assignment = None
Salin selepas log masuk
Conclusion
SettingWithCopyWarning boleh menjadi alat yang berguna untuk menghalang tingkah laku yang tidak dijangka dalam Panda. Dengan memahami sebab amaran ini berlaku dan cara membetulkannya, anda boleh mengelakkan perangkap biasa dan memastikan kod anda cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Mengelak dan Menyelesaikan Tetapan PandasWithCopyWarning?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!