> 백엔드 개발 > 파이썬 튜토리얼 > Pandas DataFrame의 그룹 내에서 최대값이 있는 행을 찾는 방법은 무엇입니까?

Pandas DataFrame의 그룹 내에서 최대값이 있는 행을 찾는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-23 12:44:14
원래의
893명이 탐색했습니다.

How to Find Rows with Maximum Values within Groups in a Pandas DataFrame?

Groupby를 사용하여 그룹에서 최대값을 갖는 행 가져오기

특정 열에서 최대값을 나타내는 pandas DataFrame 내의 모든 행 식별 그룹화된 데이터 내의 일반적인 작업입니다. 이는 그룹별 작업과 일련의 변환을 사용하여 효율적으로 달성할 수 있습니다.

Sp 및 Mt 열로 정의된 각 그룹 내에서 최대 개수가 있는 행을 찾으려면 다음 단계를 따릅니다.

  1. 그룹 최대값 계산: 먼저 groupby 함수를 사용하여 각 그룹의 최대 개수를 계산합니다. 그러면 그룹 키로 인덱싱된 최대 개수 값이 포함된 시리즈가 반환됩니다.
  2. 부울 마스크 만들기: 변환 및 동등 비교를 사용하여 개수가 동일한 행을 식별하는 부울 마스크를 만듭니다. 그룹 최대. 이 마스크는 최대 개수가 있는 행에 대해 True 값을 갖습니다.
  3. DataFrame 필터링: 마스크를 사용하여 DataFrame을 필터링하고 최대 개수가 있는 행만 유지합니다.

예 1:

다음을 고려하세요. DataFrame:

   Sp   Mt Value  count
0  MM1  S1   a     3
1  MM1  S1   n       2
2  MM1  S3   cb    5
3  MM2  S3   mk    8
4  MM2  S4   bg    10
5  MM2  S4   dgd     1
6  MM4  S2   rd      2
7  MM4  S2   cb      2
8  MM4  S2   uyi   7
로그인 후 복사

위 단계를 적용하여 원하는 출력을 얻습니다.

   Sp   Mt   Value  count
0  MM1  S1   a      3
2  MM1  S3   cb     5
3  MM2  S3   mk     8
4  MM2  S4   bg     10 
8  MM4  S2   uyi    7
로그인 후 복사

예 2:

다른 DataFrame의 경우 :

   Sp   Mt   Value  count
4  MM2  S4   bg     10
5  MM2  S4   dgd    1
6  MM4  S2   rd     2
7  MM4  S2   cb     8
8  MM4  S2   uyi    8
로그인 후 복사

결과는 be:

   Sp   Mt   Value  count
4  MM2  S4   bg     10
7  MM4  S2   cb     8
8  MM4  S2   uyi    8
로그인 후 복사

참고: 그룹 내 여러 행의 최대 수가 동일한 경우 해당 행이 모두 출력에 포함됩니다. 이것이 바람직하지 않은 경우 추가 필터링이 필요할 수 있습니다.

위 내용은 Pandas DataFrame의 그룹 내에서 최대값이 있는 행을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿