여러 열이 포함된 Pandas DataFrame이 주어지면 작업은 다음을 식별하는 것입니다. 다른 열의 각 고유 값에 대해 특정 열의 최소값이 있는 행을 선택합니다. 예를 들어 A, B, C 열이 있는 DataFrame에서 각 A 값에 대해 최소 B 값이 있는 행을 검색하려고 합니다.
간단하고 이 문제를 해결하기 위한 효율적인 접근 방식은 Pandas의 groupby 및 idxmin 기능을 활용하는 것입니다. groupby 함수는 지정된 열을 기준으로 행을 그룹화하는 반면, idxmin은 다른 열에서 최소값이 있는 행의 인덱스를 반환합니다.
<code class="python">df.loc[df.groupby('A').B.idxmin()]</code>
이 코드 줄은 원하는 결과를 얻습니다. 먼저, groupby('A')를 사용하여 DataFrame을 열 A로 그룹화합니다. 그런 다음 B.idxmin() 함수를 각 그룹에 적용합니다. 이 함수는 해당 그룹 내에서 최소 B 값을 가진 행의 인덱스를 반환합니다. 마지막으로 loc 함수를 사용하여 최소 B 값에 해당하는 행을 선택합니다.
다음 DataFrame을 고려하세요.
<code class="python">df = pd.DataFrame({'A': [1, 1, 1, 2, 2, 2], 'B': [4, 5, 2, 7, 4, 6], 'C': [3, 4, 10, 2, 4, 6]})</code>
솔루션 코드를 적용하면 다음이 생성됩니다. 다음 결과:
A B C 2 1 2 10 4 2 4 4
이 출력은 각 고유 A 값(A=1의 경우 2, A=2의 경우 4)에 대한 최소 B 값을 포함하는 행을 보여줍니다.
대안으로, Reset_index(drop=True)를 사용하여 결과 DataFrame에서 인덱스 열을 제거할 수 있습니다.
<code class="python">df.loc[df.groupby('A').B.idxmin()].reset_index(drop=True)</code>
이렇게 하면 필요한 열만 포함된 DataFrame이 제공됩니다. .
위 내용은 Pandas GroupBy를 사용하여 열에서 최소값이 있는 행을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!