Peratusan Jumlah dengan Groupby dalam Panda
Artikel ini memfokuskan pada tugas biasa dalam analisis data: mengira peratusan jumlah bagi setiap kumpulan dalam DataFrame. Inilah soalan dan penyelesaian menggunakan Pandas.
Soalan:
Saya mempunyai fail CSV dengan lajur Negeri, ID Pejabat dan Jualan. Saya ingin mengira peratusan jualan setiap pejabat di negeri tertentu, di mana jumlah semua peratusan di setiap negeri ialah 100%.
Penyelesaian:
Untuk mencapai ini, kita perlu mencipta peringkat kumpulan kedua.
Pertama, kita boleh mencipta objek kumpulan berdasarkan 'keadaan' dan lajur 'id_pejabat':
import pandas as pd state_office = df.groupby(['state', 'office_id']).agg({'sales': 'sum'})
Kemudian, kami mencipta DataFrame baharu dengan membahagikan setiap nilai jualan dengan jumlah yang sepadan mengikut keadaan:
state_pcts = state_office.groupby(level=0).apply(lambda x: 100 * x / float(x.sum()))
Pendekatan ini menjejaki jumlah jualan bagi setiap negeri sambil memastikan peratusan setiap kumpulan dalam negeri menambah sehingga 100%.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Peratusan Jualan setiap Pejabat dalam Setiap Negeri Menggunakan Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!