Mengira nilai unik yang dikumpulkan mengikut lajur tertentu ialah tugas biasa dalam analisis data. Pandas menyediakan pelbagai kaedah untuk mencapai ini.
Dalam kes anda, anda mempunyai DataFrame dengan lajur 'ID' dan 'domain' dan perlu mengira nilai 'ID' unik untuk setiap 'domain'.
Menggunakan df.groupby['domain', 'ID'].count()':
Kaedah ini mengembalikan DataFrame dengan kiraan untuk kedua-dua kumpulan 'ID' dan 'domain' . Walau bagaimanapun, ia mengira bilangan baris dalam setiap kumpulan, bukan hanya nilai 'ID' unik.
Penyelesaian dengan `nunique()':
df.groupby ('domain')['ID'].nunique() mengira kiraan 'ID' unik untuk setiap kumpulan 'domain'. DataFrame yang terhasil akan mempunyai lajur 'domain' sebagai indeks dan kiraan sebagai lajur baharu.
Melucutkan Petikan Tunggal:
Jika lajur 'domain' anda mengandungi petikan tunggal, gunakan df.domain.str.strip("'") untuk mengalih keluarnya sebelum mengumpulkan.
Kekalkan Nama Lajur:
Untuk menyimpan 'ID' nama lajur dalam hasil carian, gunakan df.groupby(by='domain', as_index=False).agg({'ID': pd.Series.nunique}). Ini akan membuat DataFrame dengan lajur 'domain' dan 'ID' (kiraan unik).
Atas ialah kandungan terperinci Bagaimana Mengira Nilai Unik Dikumpulkan Mengikut Lajur dengan Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!