Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mendapatkan Baris dengan Kiraan Maksimum dalam Bingkai Data Pandas Berkumpulan?

Bagaimana untuk Mendapatkan Baris dengan Kiraan Maksimum dalam Bingkai Data Pandas Berkumpulan?

DDD
Lepaskan: 2024-12-20 07:14:12
asal
791 orang telah melayarinya

How to Get Rows with the Maximum Count in Grouped Pandas DataFrames?

Dapatkan Baris dengan Kiraan Maks dalam Bingkai Data Panda Berkumpulan

Masalah:

Dapatkan semula semua baris daripada DataFrame panda yang mempunyai nilai maksimum untuk lajur "kira", dikumpulkan mengikut "Sp" dan "Mt" lajur.

Contoh:

Contoh 1:

Input DataFrame:

Sp Mt Value count
MM1 S1 a 3
MM1 S1 n 2
MM1 S3 cb 5
MM2 S3 mk 8
MM2 S4 bg 10
MM2 S4 dgd 1
MM4 S2 rd 2
MM4 S2 cb 2
MM4 S2 uyi 7

Dijangka Output:

Sp Mt Value count
MM1 S1 a 3
MM1 S3 cb 5
MM2 S3 mk 8
MM2 S4 bg 10
MM4 S2 uyi 7

Contoh 2:

Input DataFrame:

Sp Mt Value count
MM2 S4 bg 10
MM2 S4 dgd 1
MM4 S2 rd 2
MM4 S2 cb 8
MM4 S2 uyi 8

Dijangka Output:

Sp Mt Value count
MM2 S4 bg 10
MM4 S2 cb 8
MM4 S2 uyi 8

Penyelesaian:

  1. Dapatkan Kiraan Maks bagi setiap Kumpulan:
import pandas as pd

df.groupby(['Sp', 'Mt'])['count'].max()
Salin selepas log masuk

Ini mengembalikan Siri dengan kiraan maksimum untuk setiap gabungan unik "Sp" dan "Mt".

  1. Buat Topeng Boolean:
idx = df.groupby(['Sp', 'Mt'])['count'].transform(max) == df['count']
Salin selepas log masuk

Ini mencipta topeng Boolean di mana True menunjukkan baris dengan kiraan maksimum dalam kumpulan mereka.

  1. Tapis DataFrame:
df[idx]
Salin selepas log masuk

Ini menapis DataFrame untuk memasukkan hanya baris dengan topeng idx adalah True, menghasilkan output yang diingini.

Nota: Berbilang baris dengan kiraan maksimum yang sama akan dikembalikan jika ia berlaku dalam kumpulan yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Baris dengan Kiraan Maksimum dalam Bingkai Data Pandas Berkumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan