Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Panda Boleh Mencapai Pengiraan Pelanggan Setara dengan \'count(distinct)\' SQL untuk Setiap Tahun?

Bagaimanakah Panda Boleh Mencapai Pengiraan Pelanggan Setara dengan \'count(distinct)\' SQL untuk Setiap Tahun?

DDD
DDDasal
2024-10-23 15:13:02385semak imbas

How Can Pandas Achieve Client Counting Equivalent to SQL's 'count(distinct)' for Each Year?

Mencari Kiraan Pelanggan Unik setahun dalam Panda Bersamaan dengan 'kiraan(berbeza)' SQL

Dalam SQL, mengira pelanggan yang berbeza setiap tahun boleh dicapai dengan pertanyaan berikut:

<code class="sql">SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;</code>

Untuk melaksanakan operasi serupa dalam Pandas, yang biasanya digunakan sebagai pengganti pangkalan data, anda boleh menggunakan fungsi nunique() bersama kaedah groupby():

<code class="python">table.groupby('YEARMONTH').CLIENTCODE.nunique()</code>

Coretan kod ini mengumpulkan jadual bingkai data mengikut lajur 'YEARMONTH' dan kemudian menggunakan fungsi nunique() untuk mengira pelanggan unik bagi setiap tahun. Hasilnya ialah Siri panda dengan bulan tahun sebagai indeks dan bilangan pelanggan unik setiap tahun sebagai nilai.

Sebagai contoh, jika jadual anda mengandungi data berikut:

CLIENTCODE YEARMONTH
1 201301
1 201301
2 201301
1 201302
2 201302
2 201302
3 201302

Menggunakan fungsi nunique() akan menghasilkan output berikut:

<code class="python">YEARMONTH
201301       2
201302       3</code>

Hasil ini menunjukkan bahawa untuk 201301, terdapat 2 pelanggan unik, dan untuk 201302, terdapat 3 pelanggan unik.

Atas ialah kandungan terperinci Bagaimanakah Panda Boleh Mencapai Pengiraan Pelanggan Setara dengan \'count(distinct)\' SQL untuk Setiap Tahun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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