Rumah > pembangunan bahagian belakang > Tutorial Python > Bilakah Panda Membuat Paparan vs Salinan?

Bilakah Panda Membuat Paparan vs Salinan?

Susan Sarandon
Lepaskan: 2024-11-04 05:02:01
asal
731 orang telah melayarinya

When Does Pandas Create a View vs a Copy?

Peraturan Panda untuk Paparan vs Penjanaan Salin

Panda menggunakan peraturan khusus apabila memutuskan sama ada operasi hirisan pada DataFrame menghasilkan paparan atau salinan. Dengan memahami peraturan ini, anda boleh mengoptimumkan manipulasi data anda dan mengelakkan tingkah laku yang tidak dijangka.

Bermula dengan operasi yang sentiasa menjana salinan:

  1. Semua operasi, kecuali yang direka khusus untuk mengubah suai DataFrame di tempatnya, buat salinan.
  2. Hanya operasi tertentu menyokong parameter inplace=True, yang membenarkan pengubahsuaian berlaku terus dalam DataFrame asal.

Seterusnya, mari pertimbangkan operasi yang mungkin menghasilkan paparan:

  1. Pengindeks yang menetapkan nilai, seperti .loc, .iloc, .iat dan .at, beroperasi di tempat, mengubah suai DataFrame asal tanpa membuat salinan.
  2. Pengindeks yang mendapatkan semula data daripada objek jenis d tunggal biasanya mencipta paparan, melainkan reka letak memori yang mendasari menghalang pengoptimuman ini.
  3. Sebaliknya, pengindeks yang mendapatkan semula data daripada objek berbilang djenis sentiasa mencipta salinan.

Mengenai contoh anda:

  • df.query('2 < index <= 5') mengembalikan salinan kerana ia melibatkan angka penilaian ungkapan.
  • df.iloc[3] = 70 dan df.ix[1, 'B':'E'] = 222 menukar df kerana mereka mengakses objek jenis d tunggal dan menetapkan nilai di tempatnya.
  • df[df.C <= df.B] mengubah suai df kerana ia menggunakan penetap di tempat (df[...]) pada objek jenis d tunggal (topeng boolean yang terhasil).
  • Walau bagaimanapun, df[df.C <= df.B].ix[:,'B':'E'] tidak mengubah suai df kerana ia melibatkan operasi pengindeksan berantai, yang tidak dijamin akan dipintas oleh Panda.

Untuk mengubah suai nilai tertentu berdasarkan pertanyaan, gunakan sintaks lokasi yang betul:

df.loc[df.C <= df.B, 'B':'E']
Salin selepas log masuk

Dengan mematuhi peraturan ini, anda boleh memperoleh pemahaman yang jelas tentang apabila Pandas menjana paparan atau salinan, memastikan manipulasi data yang cekap dalam skrip Python anda.

Atas ialah kandungan terperinci Bilakah Panda Membuat Paparan vs Salinan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan