Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Pandas GroupBy Boleh Mengira Jumlah Buah setiap Nama?

Bagaimana Pandas GroupBy Boleh Mengira Jumlah Buah setiap Nama?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-23 06:02:19191semak imbas

How Can Pandas GroupBy Calculate Total Fruits per Name?

Kumpulan Panda Mengikut: Menentukan Jumlah Buah Mengikut Nama

Dalam senario manipulasi data, keperluan sering timbul untuk mengagregatkan data berdasarkan kriteria yang ditetapkan . Kaedah kumpulan mengikut kumpulan Pandas menawarkan penyelesaian yang berkuasa untuk mengumpulkan data dan melaksanakan pelbagai pengagregatan. Artikel ini akan menunjukkan cara menggunakan groupby untuk mengira jumlah buah bagi setiap nama dalam set data yang diberikan.

Pernyataan Masalah:

Diberikan bingkai data dengan lajur yang mewakili Buah , Tarikh, Nama dan Nombor:

import pandas as pd

df = pd.DataFrame({
    'Fruit': ['Apples', 'Apples', 'Apples', 'Apples', 'Apples', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Grapes', 'Grapes', 'Grapes', 'Grapes', 'Grapes'],
    'Date': ['10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016'],
    'Name': ['Bob', 'Bob', 'Mike', 'Steve', 'Bob', 'Bob', 'Tom', 'Mike', 'Bob', 'Tony', 'Bob', 'Tom', 'Bob', 'Bob', 'Tony'],
    'Number': [7, 8, 9, 10, 1, 2, 15, 57, 65, 1, 1, 87, 22, 12, 15]
})

Penyelesaian:

Untuk mengira jumlah buah bagi setiap nama, ikuti langkah berikut:

result_df = df.groupby(['Fruit', 'Name'])['Number'].sum()

Operasi ini akan mengumpulkan data mengikut lajur 'Buah' dan 'Nama' dan mengagregatkan lajur 'Nombor' dengan mengambil jumlahnya. Output akan menjadi bingkai data yang mengandungi jumlah bilangan buah untuk setiap gabungan 'Buah' dan 'Nama'.

Keputusan:

Bingkai data yang terhasil akan menyerupai berikut:

               Number
Fruit   Name         
Apples  Bob        16
        Mike        9
        Steve      10
Grapes  Bob        35
        Tom        87
        Tony       15
Oranges Bob        67
        Mike       57
        Tom        15
        Tony        1

Jika lajur tertentu perlu ditentukan untuk pengagregatan, sintaks berikut boleh digunakan:

result_df = df.groupby(['Name', 'Fruit'])['Number'].sum()

Dengan menggunakan fungsi kumpulan mengikut dan jumlah Pandas, kami boleh mengumpulkan dan mengagregat data dengan berkesan untuk mendapatkan cerapan bermakna daripada set data yang besar, menjadikannya alat yang berkuasa untuk penerokaan dan analisis data.

Atas ialah kandungan terperinci Bagaimana Pandas GroupBy Boleh Mengira Jumlah Buah setiap Nama?. 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