특정 열에서 가장 높은 값을 가진 행만 유지하여 DataFrame에서 중복 행을 제거하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-07 05:34:03
원래의
442명이 탐색했습니다.

How to Eliminate Duplicate Rows in a DataFrame, Keeping Only the Rows with the Highest Values in a Specific Column?

열별로 중복을 제거하고 가장 높은 값의 행을 유지하는 방법

DataFrame의 한 열에 중복된 값이 있으면 이를 제거하기 위한 전략을 실행하는 것이 필요해졌습니다. 한 가지 접근 방식은 다른 열에서 가장 높은 값을 가진 행만 보존하는 것입니다.

이 DataFrame 예를 고려하세요.

A B
1 10
1 20
2 30
2 40
3 10
로그인 후 복사

목표는 이 DataFrame을 다음으로 변환하는 것입니다.

A B
1 20
2 40
3 10
로그인 후 복사

한 가지 방법은 중복을 제거하기 전에 DataFrame을 정렬하는 것입니다.

df.sort_values(by='B', ascending=False).drop_duplicates(subset='A')
로그인 후 복사

그러나 여러 열과 미묘한 정렬 요구 사항이 포함된 보다 복잡한 시나리오의 경우 groupby를 사용할 수 있습니다. 아래 코드는 이 접근 방식을 보여줍니다.

df.groupby('A', group_keys=False).apply(lambda x: x.loc[x.B.idxmax()])
로그인 후 복사

이 솔루션은 'A' 열을 기준으로 행을 그룹화하고 각 그룹에 대해 'B' 열에 최대값이 있는 행을 생성합니다.

위 내용은 특정 열에서 가장 높은 값을 가진 행만 유지하여 DataFrame에서 중복 행을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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