열별로 중복을 제거하고 가장 높은 값의 행을 유지하는 방법
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!