Mengira Kekerapan Nilai dalam Lajur Bingkai Data
Memandangkan bingkai data dengan lajur yang mengandungi nilai kategori, anda mungkin menghadapi keperluan untuk mengira kekerapan kejadian setiap nilai unik.
Pertimbangkan perkara berikut bingkai data:
category cat a cat b cat a
Untuk mendapatkan semula nilai yang berbeza dan frekuensi sepadannya, ikuti langkah berikut:
Menggunakan value_counts()
Seperti yang dicadangkan oleh @DSM, gunakan value_counts() untuk mencapai ini tugasan:
In [37]: df = pd.DataFrame({'a':list('abssbab')}) df['a'].value_counts()
Output:
b 3 a 2 s 2 dtype: int64
Menggunakan groupby() dan count()
Sebagai alternatif, anda boleh menggunakan groupby() dan count():
In [38]: df.groupby('a').count()
Output:
a a a 2 b 3 s 2 [3 rows x 1 columns]
Pilihan Tambahan:
Untuk maklumat lanjut, rujuk kepada dokumentasi panda di https://pandas.pydata.org.
Memasukkan Kembali Kekerapan ke dalam Bingkai Data
Jika anda ingin menambah nilai frekuensi kembali kepada bingkai data asal, anda boleh gunakan transform() dengan count():
In [41]: df['freq'] = df.groupby('a')['a'].transform('count') df
Output:
a freq 0 a 2 1 b 3 2 s 2 3 s 2 4 b 3 5 a 2 6 b 3 [7 rows x 2 columns]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Kekerapan Nilai dalam Lajur Pandas DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!