Mengira Nilai Berbeza Dikumpulkan Mengikut Domain dalam Panda
Untuk menentukan ID pengguna unik dalam setiap domain, anda boleh menggunakan nunique() Pandas fungsi. Fungsi ini mengira bilangan nilai berbeza dalam lajur tertentu yang dikumpulkan oleh satu atau lebih lajur lain.
Dalam kes anda, anda boleh mengumpulkan data mengikut domain dan menggunakan nunique() untuk mengira nilai unik dalam ID lajur:
<code class="python">df.groupby('domain')['ID'].nunique()</code>
Ini akan menghasilkan DataFrame dengan domain sebagai indeks dan kiraan ID unik untuk setiap domain sebagai nilai:
domain | count |
---|---|
vk.com | 3 |
twitter.com | 2 |
facebook.com | 1 |
google.com | 1 |
Jika nilai domain anda mendahului atau mengekori petikan tunggal ('), anda boleh mengalih keluarnya sebelum mengumpulkan menggunakan kaedah str.strip("'"):
<code class="python">df.groupby(df.domain.str.strip("'"))['ID'].nunique()</code>
Sebagai alternatif, anda boleh mengekalkan nama lajur domain dalam DataFrame output dengan menggunakan fungsi agg() dengan as_index=False:
<code class="python">df.groupby(by='domain', as_index=False).agg({'ID': pd.Series.nunique})</code>
Pendekatan ini mengembalikan DataFrame dengan lajur domain dan lajur baharu bernama ID yang mengandungi kiraan ID unik untuk setiap domain.
Atas ialah kandungan terperinci Bagaimana Mengira Nilai Berbeza Dikumpulkan Mengikut Domain dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!