본문으로 바로가기
COMMUNITY모든 이야기

pandas groupby 후 apply 내에서 DataFrame index 유지 안 되는 문제

빗방울 2026.10.30 01:54 2분 읽기 조회 7

그룹별로 최댓값을 가진 행 전체를 추출하려고 합니다.

코드:

import pandas as pd
import numpy as np

df = pd.DataFrame({
    'id': [1, 1, 2, 2],
    'val': [10, 20, 30, 10],
    'col': ['A', 'B', 'C', 'D']
})

def get_max(group):
    return group.loc[[group['val'].idxmax()]]

result = df.groupby('id').apply(get_max)
print(result)

오류: 결과 데이터프레임에 groupby 기준 컬럼(id)이 중복으로 생성되고 인덱스가 꼬임.

시도: group_keys=False 설정해봤으나 해결 안 됨.

질문: apply 결과에서 멀티인덱스 생기지 않고 원본 인덱스만 유지하며 행을 추출하는 방법이 무엇입니까?

모든 이야기1455

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1455개의 이야기
댓글