Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menolong Lajur Panda dengan Cekap dan Mengira Nilai dalam Setiap Tong?

Bagaimana untuk Menolong Lajur Panda dengan Cekap dan Mengira Nilai dalam Setiap Tong?

Susan Sarandon
Susan Sarandonasal
2024-12-09 19:17:17402semak imbas

How to Efficiently Bin a Pandas Column and Count Values in Each Bin?

Menggabungkan Lajur dengan Panda

Dalam analisis data, selalunya berguna untuk mengosongkan data ke dalam kategori untuk memudahkan perwakilan dan analisisnya. Ini adalah teknik biasa apabila bekerja dengan data berangka, seperti apabila berurusan dengan peratusan.

Andaikan kita mempunyai lajur bingkai data bernama "peratusan" yang mengandungi nilai angka, seperti ditunjukkan di bawah:

df['percentage'].head()
46.5
44.2
100.0
42.12

Untuk bin lajur ini dan mendapatkan kiraan nilai bagi setiap tong, kita boleh menggunakan fungsi pd.cut. Berikut ialah dua cara untuk mencapai ini:

Menggunakan pd.cut dengan value_counts:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)
print(df.groupby(df['binned']).size())

Menggunakan np.searchsorted dan groupby:

df['binned'] = np.searchsorted(bins, df['percentage'].values)
print(df.groupby(df['binned']).size())

Kedua-dua kaedah akan mengembalikan perkara berikut output:

percentage
(0, 1]       0
(1, 5]       0
(5, 10]      0
(10, 25]     0
(25, 50]     3
(50, 100]    1
dtype: int64

Output ini menunjukkan bahawa tiada nilai dalam tong (0, 1], (1, 5], (5, 10], dan (10, 25). Tiga nilai jatuh dalam tong sampah (25, 50] dan satu nilai jatuh dalam tong sampah (50, 100].

Atas ialah kandungan terperinci Bagaimana untuk Menolong Lajur Panda dengan Cekap dan Mengira Nilai dalam Setiap Tong?. 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