Menerjemahkan SQL's COUNT(DISTINCT) kepada Pandas Equivalents
Dalam bidang manipulasi data, Pandas telah muncul sebagai alat yang mujarab untuk mengurus jadual data. Apabila berurusan dengan sumber data yang pelbagai, seperti Oracle dan SQL Server, pengguna mungkin menghadapi cabaran untuk menterjemah pertanyaan SQL ke dalam operasi Pandas yang cekap. Satu tugas biasa melibatkan mengira bilangan nilai yang berbeza—tugas yang memerlukan "bersamaan" dengan fungsi COUNT(DISTINCT) SQL.
Untuk mencapai ini dalam Pandas, mari kita mulakan penerokaan jadual dengan lajur mewakili YEARMONTH, CLIENTCODE dan pelbagai atribut lain. Dalam SQL, mengira pelanggan yang berbeza setiap tahun boleh dicapai dengan pertanyaan berikut:
SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;
Pertanyaan ini menghasilkan hasil yang memaparkan kiraan pelanggan yang berbeza untuk setiap tahun. Bagaimanakah kita boleh meniru fungsi ini dalam Pandas?
Penyelesaian terletak pada penggunaan kaedah nunique():
table.groupby('YEARMONTH').CLIENTCODE.nunique()
Ungkapan ini mengumpulkan data mengikut lajur YEARMONTH dan menggunakan nunique() kaedah kepada siri CLIENTCODE dalam setiap kumpulan. Hasilnya ialah DataFrame yang menyenaraikan nilai YEARMONTH bersama-sama dengan kiraan pelanggan yang berbeza untuk setiap tahun.
Untuk menggambarkan, pertimbangkan contoh jadual DataFrame bernama:
CLIENTCODE YEARMONTH 0 1 201301 1 1 201301 2 2 201301 3 1 201302 4 2 201302 5 2 201302 6 3 201302
Menggunakan nunique( ) kaedah menghasilkan:
YEARMONTH 201301 2 201302 3
Oleh itu, kaedah nunique() Pandas menyediakan kefungsian yang setara dengan COUNT(DISTINCT) SQL untuk mengira nilai yang berbeza dengan cekap dalam lajur yang ditentukan.
Atas ialah kandungan terperinci Menterjemah COUNT(DISTINCT) SQL kepada Panda: Bagaimana Menggunakan Kaedah nunique()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!