Operator Logik untuk Pengindeksan Boolean dalam Panda
Semasa bekerja dengan pengindeksan Boolean dalam Pandas, seseorang mungkin menghadapi ralat semasa cuba menggunakan dan operator secara langsung dengan perbandingan Siri, seperti yang dilihat dalam contoh berikut:
a[(a['some_column']==some_number) and (a['some_other_column']==some_other_number)]
Ini akan mengakibatkan ValueError kerana Python tidak boleh memberikan nilai Boolean kepada tatasusunan dengan berbilang elemen. Sebaliknya, kita mesti menggunakan & operator untuk operasi logik dan elemen mengikut unsur:
a[(a['some_column']==some_number) & (a['some_other_column']==some_other_number)]
Perbezaan ini timbul kerana operator dan melakukan penilaian Boolean, manakala operator & menjalankan operasi logik mengikut elemen. Apabila menilai perbandingan Siri dengan dan, Python tidak dapat menentukan cara mengendalikan kekaburan pemberian nilai Boolean kepada koleksi elemen.
Untuk memastikan operasi logik yang betul mengikut elemen, kurungan adalah penting dalam ungkapan yang melibatkan & pengendali. Mengabaikan tanda kurung boleh membawa kepada susunan penilaian yang tidak diingini, seperti:
a['x']==1 & a['y']==10
Yang akan ditafsirkan sebagai:
(a['x'] == 1) & (a['y'] == 10)
Sebaliknya, ungkapan yang betul ialah:
(a['x']==1) & (a['y']==10)
Dengan memahami perbezaan antara penilaian Boolean dan operasi logik mengikut unsur, anda boleh menggunakan operator logik dengan berkesan untuk pengindeksan Boolean dalam Panda.
Atas ialah kandungan terperinci Bagaimana Menggunakan Operator Logik dengan Betul untuk Pengindeksan Boolean dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!