Memahami Pandas View vs Salin Peraturan
Pernyataan Masalah
Panda, data Python yang popular perpustakaan manipulasi, menyediakan pelbagai kaedah untuk memilih dan mengubah suai bingkai data. Walau bagaimanapun, ia boleh mengelirukan untuk menentukan apabila pilihan mencipta salinan kerangka data asal atau paparan padanya. Kekaburan ini membawa kepada tingkah laku yang tidak dijangka apabila cuba mengubah suai data.
Peraturan Mudah
Untuk menangani kekeliruan ini, berikut ialah beberapa peraturan mudah yang mengawal pandangan Panda vs tingkah laku penyalinan :
Menggunakan Peraturan untuk Kes Tertentu
Mari kita periksa kes kompleks yang anda nyatakan:
df[df.C <= df.B] = 7654321
Dalam kes ini, peraturan untuk menetapkan dengan pengindeks digunakan. Memandangkan syarat tersebut melibatkan perbandingan dua lajur, Pandas mencipta salinan perantaraan bingkai data untuk menilai keadaan. Salinan ini kemudiannya diubah suai di tempatnya. Oleh itu, ungkapan ini berjaya menukar nilai dalam bingkai data asal.
Walau bagaimanapun, ungkapan pengindeksan berantai:
df[df.C <= df.B].ix[:, 'B':'E']
melanggar peraturan. Merantai dua pengindeks mencipta operasi Python yang berasingan, menjadikannya sukar untuk Panda memintas dengan pasti. Ini boleh membawa kepada tingkah laku yang tidak dijangka dan oleh itu amat tidak digalakkan.
Mengubah suai Bingkai Data dengan Pertanyaan
Untuk mengubah suai nilai bingkai data berdasarkan pertanyaan, gunakan pendekatan berikut:
df.loc[df.C <= df.B, 'B':'E'] = 7654321
Ungkapan ini menggunakan pengindeks tunggal untuk menilai keadaan pertanyaan dan menentukan subset lajur untuk diubah suai. Ia lebih pantas dan lebih dipercayai daripada pendekatan pengindeksan berantai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Suai Bingkai Data Pandas Berdasarkan Pertanyaan Tanpa Gelagat Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!