Untuk mengira peratusan jumlah jualan bagi setiap pejabat dalam keadaan tertentu, anda boleh memanfaatkan kuasa transformatif Pandas' kumpulan mengikut operasi. Mari kita selami butirannya.
Pertimbangkan fail CSV dengan tiga lajur: negeri, office_id dan jualan. Untuk mengumpulkan data mengikut negeri dan office_id serta meringkaskan jualan, anda boleh menggunakan df.groupby(['state', 'office_id']).agg({'sales': 'sum'}).
df = pd.DataFrame({'state': ['CA', 'WA', 'CO', 'AZ'] * 3, 'office_id': list(range(1, 7)) * 2, 'sales': [np.random.randint(100000, 999999) for _ in range(12)]}) df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Operasi ini menghasilkan DataFrame berkumpulan di mana jumlah jualan dikira untuk setiap gabungan unik (negeri, office_id).
Untuk menentukan peratusan jumlah jualan bagi setiap pejabat, anda boleh melaksanakan strategi berikut:
Memperkenalkan kuasa transformatif transformasi! Gunakannya pada lajur jualan dan bahagikan dengan jumlah jualan dalam setiap negeri.
df['sales'] / df.groupby('state')['sales'].transform('sum')
Transformasi ini menghasilkan DataFrame dengan peratusan, menyenaraikan pecahan jualan setiap pejabat berbanding jumlah jualan dalam negeri masing-masing .
Sebagai alternatif, anda boleh membuat objek dikumpulkan berdasarkan lajur jualan dalam setiap kumpulan (negeri, office_id). Kemudian, bahagikan dengan jumlah lajur yang baru dikumpulkan.
state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'}) state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
Pendekatan ini memberikan anda DataFrame yang serupa dengan nilai peratusan, tetapi ia memerlukan tahap pengumpulan tambahan.
Kedua-dua kaedah dengan berkesan kira peratusan sumbangan setiap pejabat kepada jumlah jualan dalam negeri masing-masing. Dengan memahami teknik ini, anda boleh membuka kunci cerapan baharu daripada data terkumpul anda!
Atas ialah kandungan terperinci Bagaimana untuk Mengira Peratusan Jumlah Jualan setiap Pejabat Menggunakan Pandas Groupby?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!