Pandas DataFrames로 작업할 때 특정 열을 기준으로 데이터를 그룹화하고 해당 열에 대한 작업을 수행해야 하는 경우가 많습니다. 여러 떼. 일반적인 작업 중 하나는 특정 열에서 최소값이 있는 행을 선택하는 것입니다.
이 기사에서는 MultiIndex를 사용하지 않고 이 작업을 수행하는 간단하고 효율적인 접근 방식을 살펴보겠습니다.
문제 설명:
A, B, C 열이 있는 DataFrame이 주어지면 목표는 A열의 각 값에 대해 B열에서 최소값이 있는 행을 선택하는 것입니다.
원본 데이터 프레임:
A | B | C |
---|---|---|
1 | 4 | 3 |
1 | 5 | 4 |
1 | 2 | 10 |
2 | 7 | 2 |
2 | 4 | 4 |
2 | 6 | 6 |
원하는 출력:
A | B | C |
---|---|---|
1 | 2 | 10 |
2 | 4 | 4 |
해결책:
이 문제를 해결하는 열쇠는 Pandas의 idxmin() 메소드에 있습니다. 이 메소드는 각 그룹에 대해 지정된 열에서 최소값을 갖는 행의 인덱스를 반환합니다.
groupby() 및 idxmin()을 사용하면 원하는 행을 직접 선택할 수 있습니다.
<code class="python"># Group the DataFrame by column 'A' grouped = df.groupby('A') # Get the index of the rows with the minimum value in column 'B' for each group min_idx = grouped.B.idxmin() # Use the index to select the desired rows result = df.loc[min_idx]</code>
출력:
A B C 2 1 2 10 4 2 4 4
이 접근 방식은 복잡한 데이터 구조나 중간 단계 없이 A의 각 그룹에 대해 B열에서 최소값이 있는 행을 효율적으로 선택합니다.
위 내용은 Pandas에서 GroupBy 후 특정 열에서 최소값이 있는 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!