Kes Panda Bila

Kes Panda Bila

Apabila syarat dipenuhi atau dipenuhi, pernyataan kes dalam bahasa panda memberikan output atau mengembalikan nilai. Pernyataan kes memungkinkan untuk membandingkan nilai pembolehubah kepada julat nilai potensi. Apabila set nilai dirujuk atau diluluskan dalam pernyataan kes, setiap nilai di dalam set disemak oleh kes atau syarat di dalam pernyataan. Kita juga boleh menggunakan pernyataan if-else untuk melakukan operasi yang sama. Jika syarat tertentu adalah benar, pernyataan if-else menyebabkan sekeping skrip dilaksanakan. Pernyataan if-else mengatakan untuk melakukan ini jika keadaan adalah benar dan melakukan itu jika tidak. Dalam tutorial ini, kami akan melakukan operasi yang berbeza dengan menggunakan pernyataan kes dan pernyataan if-else.

Bagaimana untuk Menggunakan Pernyataan Kes Pandas?

Pernyataan kes boleh dibuat dalam beberapa cara. Fungsi NumPy where(), yang menggunakan sintaks asas berikut, ialah cara paling mudah untuk membina pernyataan kes dalam Pandas DataFrame:

df [ 'nama lajur' ] = np.di mana ( syarat 1 , 'nilai1',
np.di mana ( syarat dua , 'nilai2',
np.di mana ( syarat 3 , 'nilai3', 'nilai4' ) ) )



Pernyataan di atas akan menyemak setiap syarat untuk nilai dan, jika syarat itu dipenuhi, akan menjana output atau mengembalikan nilai terhadap syarat tersebut.



Contoh # 1: Pernyataan Kes Pandas Menggunakan Fungsi where().

Mari kita buat bingkai data dahulu supaya kita boleh menggunakan pernyataan kes kita. Untuk mencipta bingkai data, kami akan mengimport modul numpy dan panda dahulu supaya kami boleh menggunakan fungsinya. Pd.Dataframe() akan digunakan untuk mencipta bingkai data kami.



Kami telah mencipta bingkai data 'df'. Kamus Python dihantar di dalam pd.DataFrame() berfungsi sebagai hujah dengan kunci dan nilai. Kami akan menggunakan fungsi print() untuk melihat bingkai data kami.



Dalam bingkai data 'df' kita mempunyai dua lajur 'nama' dan 'tanda' dengan nilai ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] dan [4, 6 , 8, 6, 9,10] masing-masing. Katakan nama itu ialah lajur yang menyimpan nama pelajar dan lajur 'markah' menyimpan markah beberapa ujian baru-baru ini. Sekarang, kami akan menulis pernyataan kes yang menambah lajur baharu bernama 'remarks' yang nilainya berdasarkan nilai yang kami tetapkan, untuk setiap syarat.

Kaedah 'numpy.where()' menyediakan indeks elemen daripada tatasusunan input, lajur atau senarai yang memenuhi syarat yang ditentukan. Dalam kes suis di atas, fungsi np.where() menyemak setiap elemen dalam lajur 'marks'. Jika nilai sama dengan atau kurang daripada 5, ia akan mengembalikan 'gagal' sebagai output. Jika nilai kurang daripada atau sama dengan 7, ia akan kembali memuaskan, dan jika nilai kurang daripada atau sama dengan 9, ia akan kembali ‘hebat.’ Jika tiada, hasilnya akan cemerlang.

Seperti yang dapat diperhatikan, lajur baharu 'remarks' dibuat dalam bingkai data 'df' kami, menyimpan nilai yang dikembalikan oleh pernyataan kes di atas.

Contoh # 2:

Mari cuba pernyataan kes di atas sekali lagi dengan bingkai data yang berbeza. Katakan kita perlu menilai pemain berdasarkan jumlah gol mereka dalam kejohanan bola sepak sebelum ini. Jadi mari kita buat bingkai data untuk menyimpan rekod pemain bola sepak.

Kami telah lulus kamus dengan kekunci 'nama' dan 'matlamat' di dalam pd.DataFrame() fungsi untuk mencipta bingkai data kami. Untuk mencetak bingkai data kami, kami akan menggunakan fungsi cetakan.

Seperti yang dapat dilihat dalam bingkai data di atas, kami mempunyai dua lajur: 'nama' dan 'matlamat'. Dalam nama lajur, kami mempunyai nama pemain ['John', 'Marty', 'Clay', 'Nick', 'Mike', 'Alex', 'Tom', 'Rocky']. Dalam gol ‘column’, kami mempunyai jumlah gol yang dijaringkan oleh setiap pemain dalam kejohanan sebelumnya. Kami kini akan menggunakan pernyataan kes kami untuk menilai pemain ini berdasarkan gol yang telah mereka jaringkan.

Kes di atas dibuat menggunakan fungsi where(). Di dalam kes itu, fungsi pernyataan sedang menyemak setiap elemen dalam lajur 'tanda' terhadap syarat. Jika nilai dalam lajur 'matlamat' sama dengan atau kurang daripada 5, ia akan mengembalikan 'C'. Jika nilai dalam lajur 'matlamat' sama dengan atau kurang daripada 9, ia akan mengembalikan 'B'. Ia akan mengembalikan 'A' jika nilai dalam lajur 'matlamat' adalah sama dengan atau lebih daripada 10. Nilai yang dikembalikan oleh penyata akan disimpan dalam 'penilaian' lajur baharu. Mari cetak 'df' untuk melihat hasilnya.

“Penilaian” lajur baharu berjaya dibuat menggunakan skrip di atas.

Contoh # 3: Pernyataan Pandas if-else Menggunakan Fungsi apply().

Paksi baris atau lajur bingkai data digunakan oleh kaedah apply() untuk melaksanakan fungsi. Kami boleh mencipta fungsi yang ditentukan sendiri dan menggunakannya dalam bingkai data kami dalam panda. Ia akan terdiri daripada syarat-syarat if-else. Mari buat bingkai data kami dahulu, kemudian kami akan mencipta fungsi di mana kami akan menggunakan pernyataan if-else untuk menjana hasilnya. Untuk mencipta bingkai data kami, kami akan mengimport modul panda terlebih dahulu, kemudian kami akan menghantar kamus di dalam kaedah pd.DataFrame().

Seperti yang dapat dilihat, bingkai data kami terdiri daripada dua lajur 'A' yang menyimpan nilai berangka [23, 35, 64, 74, 85] dan 'B' dengan nilai [45, 34, 61, 89, 27]. Sekarang kami akan mencipta fungsi yang akan menentukan nilai yang lebih besar antara kedua-dua lajur dalam setiap baris bingkai data kami.

Anda boleh menggunakan fungsi Python lambda 'pandas. DataFrame.apply()” untuk menjalankan ungkapan. Dalam Python, fungsi lambda ialah fungsi tanpa nama padat yang menerima sebarang bilangan argumen dan melaksanakan ungkapan. Dalam skrip di atas, kami telah mencipta pernyataan syarat yang akan membandingkan nilai kedua-dua lajur dan menyimpan hasilnya dalam lajur 'perbandingan' baharu. Jika nilai lajur 'A' kurang daripada nilai lajur 'B', ia akan mengembalikan 'B lebih besar'. Jika syarat tidak dipenuhi ia akan mengembalikan 'A lebih besar'.

Contoh # 4:

Mari cuba contoh lain menggunakan pernyataan if-else di dalam fungsi apply() dengan bingkai data lain.

Katakan bingkai data kami menyimpan rekod pekerja sesetengah syarikat. Lajur 'emp' menyimpan nama pekerja ['Franky', 'Harry', 'Luke', 'Peter', 'Andrew'], manakala lajur 'gaji' menyimpan gaji setiap pekerja [1350, 1000, 900 , 1200, 980] dalam bingkai data 'df'. Sekarang kita akan mencipta pernyataan if-else menggunakan kaedah apply().

Syarat di atas akan menyemak setiap nilai dalam lajur 'gaji' dan menambah 200 kepada gaji pekerja di mana nilai gaji adalah kurang daripada atau sama dengan 1000. Kami telah menyimpan nilai yang dikembalikan daripada fungsi apply() dalam lajur baharu ' kenaikan'. Mari lihat hasil daripada skrip di atas.

Seperti yang anda lihat, fungsi telah berjaya menambah 200 kepada nilai yang kurang daripada atau sama dengan 100. Nilai yang lebih besar daripada 1000 kekal tidak berubah.

Kesimpulan:

Dalam tutorial ini, kita telah melihat bahawa apabila syarat dipenuhi, pernyataan jenis ini, dipanggil pernyataan kes, mengembalikan nilai. Kami telah melihat cara anda boleh membuat pernyataan kes untuk melaksanakan operasi atau tugas yang diperlukan. Dalam tutorial ini, kami telah menggunakan fungsi np.where() dan fungsi apply() untuk mencipta pernyataan kes. Kami melaksanakan beberapa contoh untuk mengajar anda cara menggunakan pernyataan kes panda dengan menggunakan fungsi where() dan cara menggunakan fungsi apply() untuk mencipta pernyataan kes.