Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengira Kekerapan Nilai dengan Cekap dalam Lajur Pandas DataFrame?

Bagaimanakah Saya Boleh Mengira Kekerapan Nilai dengan Cekap dalam Lajur Pandas DataFrame?

DDD
DDDasal
2024-12-15 12:30:24859semak imbas

How Can I Efficiently Count Value Frequencies in a Pandas DataFrame Column?

Mencari Kekerapan Nilai dalam Lajur DataFrame

Dalam analisis data, selalunya perlu mengira kekerapan kejadian untuk nilai dalam lajur tertentu daripada DataFrame. Untuk mencapai matlamat ini, panda menyediakan berbilang fungsi.

Satu pendekatan biasa ialah menggunakan kaedah value_counts(). Contohnya, memandangkan DataFrame:

category
cat a
cat b
cat a

Menggunakan value_counts() mengembalikan nilai unik dan frekuensinya:

df = pd.DataFrame({'category': ['cat a', 'cat b', 'cat a']})
df['category'].value_counts()

Output:

category freq
cat a 2
cat b 1

Kaedah lain ialah menggunakan fungsi groupby() dan count(). Pendekatan ini mengumpulkan DataFrame mengikut lajur yang diminati dan mengira kejadian untuk setiap nilai dalam kumpulan:

df.groupby('category').count()

Output:

category count
cat a 2
cat b 1

Akhir sekali, untuk menambah frekuensi kembali ke DataFrame asal, seseorang boleh menggunakan fungsi transform() untuk mencipta lajur baharu yang mengandungi frekuensi:

df['freq'] = df.groupby('category')['category'].transform('count')

Ini menghasilkan DataFrame berikut:

category freq
cat a 2
cat b 1
cat a 2

Dengan memanfaatkan kaedah ini, penganalisis data boleh menganalisis kekerapan nilai dengan cekap dalam lajur DataFrame, memberikan cerapan berharga untuk membuat keputusan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kekerapan Nilai dengan Cekap dalam Lajur Pandas DataFrame?. 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