>  기사  >  백엔드 개발  >  Pandas DataFrame의 특정 열에서 최대값이 있는 행을 어떻게 찾나요?

Pandas DataFrame의 특정 열에서 최대값이 있는 행을 어떻게 찾나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-31 06:40:02801검색

How do you find the row with the maximum value in a specific column of a Pandas DataFrame?

Pandas DataFrames에서 최대값 찾기

Pandas에서 특정 열의 최대값을 보유하는 행을 식별하려면 간단한 접근 방식이 필요합니다.

pandas.DataFrame.idxmax 사용

pandas 라이브러리는 이러한 요구를 직접 해결하는 idxmax 기능을 제공합니다. 주어진 열에서 최대값을 갖는 행의 인덱스 레이블을 검색합니다. 다음 예를 고려하십시오.

<code class="python">import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), columns=['A', 'B', 'C'])

print(df)
          A         B         C
0  1.232853 -1.979459 -0.573626
1  0.140767  0.394940  1.068890
2  0.742023  1.343977 -0.579745
3  2.125299 -0.649328 -0.211692
4 -0.187253  1.908618 -1.862934

print(df['A'].idxmax())  # row index with maximum value in column 'A'
print(df['B'].idxmax())  # row index with maximum value in column 'B'
print(df['C'].idxmax())  # row index with maximum value in column 'C'

# Output
3  # row index 3
4  # row index 4
1  # row index 1</code>

numpy.argmax를 사용하는 대체 접근 방식

또는 numpy.argmax를 사용하여 동일한 결과를 얻을 수 있습니다. 레이블 인덱스가 아닌 위치 인덱스를 반환합니다. argmax는 한때 idxmax로 언급되었지만 나중에 후자로 대체되었습니다.

역사적 맥락: 행 레이블과 정수 인덱스

In 이전 버전의 Pandas에서는 행 레이블이 레이블 대신 정수 인덱스로 표시되었습니다. 이 방식은 현재는 구식이지만 일반적으로 사용되는 많은 애플리케이션에서 지속됩니다.

레이블이 지정된 행 인덱스로의 전환에 적응하기 위해 argmax 함수는 최대 요소를 포함하는 행의 인덱스 내에서 위치 인덱스를 반환하도록 수정되었습니다. . 이 변경은 특히 중복 행 레이블과 같은 상황에서 정수 인덱스 사용으로 인해 발생하는 혼란을 완화하는 것을 목표로 합니다.

중복 행 레이블 처리

idxmax가 반환된다는 점에 유의하는 것이 중요합니다. 정수가 아닌 행 레이블. 중복된 행 레이블이 있는 경우 idxmax를 사용하면 충분하지 않습니다. 이러한 경우 위치 색인을 얻으려면 색인 레이블에서 수동으로 추출해야 할 수도 있습니다.

위 내용은 Pandas DataFrame의 특정 열에서 최대값이 있는 행을 어떻게 찾나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.