Python ialah bahasa yang berkuasa untuk penyediaan data, tetapi terdapat beberapa kesilapan biasa atau perangkap yang mungkin dihadapi oleh orang ramai. Dalam catatan blog ini, saya akan bincangkan lima isu paling biasa yang dihadapi oleh orang ramai apabila menggunakan Python untuk penyediaan data.
Salah, Tiada dan 0 (daripada sebarang jenis angka) semuanya dinilai kepada Salah.
Set objek dan nilai ini dikenali sebagai “palsu” dan akan menilai kepada palsu. NaN atau nilai yang hilang tidak palsu dan oleh itu tidak akan menilai palsu. Ini boleh menyebabkan banyak kekeliruan dan tingkah laku yang tidak dijangka oleh banyak operasi.
Nampaknya cukup mudah bahawa NaN == NaN akan kembali benar. Kedua-dua nilai "kelihatan" sama.
Walau bagaimanapun, kerana mustahil untuk mengetahui sama ada dua nilai yang hilang adalah sama, operasi ini akan sentiasa kembali palsu.
Kaedah all() kembali benar jika semua elemen lelaran adalah benar (atau jika yang boleh diulang kosong).
Jangan anggap ia sebagai “Kembali benar jika semua elemen boleh diulang adalah benar," tetapi sebaliknya "Kembalikan benar jika tiada palsu elemen dalam boleh lelar.”
Apabila lelang kosong, tidak boleh ada unsur palsu di dalamnya, bermakna semua([]) menilai kepada Benar.
Panda mengikut konvensyen numpy untuk menimbulkan ralat apabila anda cuba tukar sesuatu kepada bool. Ini berlaku dalam jika atau semasa menggunakan operasi Boolean, dan, atau, atau tidak.
Tidak jelas keputusan yang sepatutnya. Patutkah ianya Benar kerana ia bukan sifar panjang? Palsu kerana terdapat nilai False?
Ia tidak jelas, jadi sebaliknya, Pandas menimbulkan ValueError
ValueError: Nilai kebenaran Siri adalah samar-samar.
Gunakan a.kosong, a.bool() a.item(),a.any() atau a.all().
Operasi isin() mengembalikan siri Boolean yang menunjukkan sama ada setiap elemen dalam Siri betul-betul terkandung dalam yang diluluskan jujukan nilai.
s = pd.Series(['dog', 'cat', 'fish']) >>> s.isin(['bird']) 0 False 1 False 2 False dtype: bool
Perhatikan bahawa 'burung' tidak wujud dalam siri ini.
>>> s.isin(['bird', 'cat']) 0 False 1 True 2 False dtype: bool
Perhatikan 'kucing' wujud dalam nilai ke-2 siri.
Python ialah bahasa yang berkuasa, tetapi kekeliruan boleh timbul nilai hilang dan boolean. Perlu diingat bahawa nilai yang hilang ialah dianggap palsu dan tidak boleh dibandingkan.
Apabila menggunakan kaedah all(), ingat bahawa ia kembali benar apabila tiada nilai palsu dalam lelaran. Jika semua nilai adalah hilang, seperti dalam kes tatasusunan kosong, all() juga mengembalikan benar kerana nilai yang hilang tidak dianggap palsu.
Jika anda menerima ValueError semasa cuba menukar kepada nilai bool, pastikan anda mengambil nasihat yang berguna dan gunakan salah satu kaedah yang dicadangkan.
Atas ialah kandungan terperinci 5 perangkap Python biasa untuk penyediaan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!