Dalam Panda, apabila memilih sebahagian daripada bingkai data, adalah amalan biasa untuk menggunakan '.copy() ' kaedah untuk mencipta salinan bingkai data asal. Pendekatan ini memastikan bahawa sebarang perubahan yang dibuat pada subset tidak akan menjejaskan bingkai data induk.
Mengapa Perlu Membuat Salinan?
Secara lalai, mengindeks bingkai data mengembalikan melihat bingkai data asal, bukannya salinan. Ini bermakna bahawa sebarang pengubahsuaian yang dibuat pada subset akan memberi kesan secara langsung kepada bingkai data induk. Untuk mengekalkan integriti bingkai data induk, adalah penting untuk mencipta salinan menggunakan kaedah '.copy()'.
Akibat Tidak Menyalin
Pertimbangkan coretan kod berikut:
df = pd.DataFrame({'x': [1, 2]}) df_sub = df.iloc[0:1] df_sub.x = -1
Dalam contoh ini, df_sub ialah paparan df. Akibatnya, menetapkan df_sub.x kepada -1 juga mengubah suai df.x:
print(df) x 0 -1 1 2
Faedah Menyalin
Menyalin bingkai data memastikan bingkai data induk tetap tidak disentuh. Ini amat penting apabila berbilang operasi dilakukan pada bingkai data dan adalah penting untuk mengekalkan data asal untuk analisis atau perbandingan kemudian.
df_sub_copy = df.iloc[0:1].copy() df_sub_copy.x = -1 print(df) x 0 1 1 2
Dalam coretan kod yang diubah suai ini, df_sub_copy ialah salinan df. Akibatnya, menukar df_sub_copy.x tidak mempunyai kesan pada df.
Nota: Adalah penting untuk ambil perhatian bahawa gelagat pengindeksan bingkai data telah berubah dalam versi Pandas yang lebih baharu. Dalam Pandas 1.0 dan lebih awal, mengindeks bingkai data mengembalikan salinan secara lalai. Walau bagaimanapun, dalam Pandas 1.1 dan lebih baru, pengindeksan mengembalikan paparan. Untuk memastikan gelagat yang konsisten merentas versi, adalah disyorkan untuk sentiasa menggunakan kaedah '.copy()' semasa membuat subset bingkai data.
Atas ialah kandungan terperinci Mengapa Anda Perlu Sentiasa Menyalin Bingkai Data Pandas Apabila Memilih Subset?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!