>  기사  >  백엔드 개발  >  여러 열로 Pandas DataFrame에서 각 그룹의 첫 번째 행을 얻는 방법은 무엇입니까?

여러 열로 Pandas DataFrame에서 각 그룹의 첫 번째 행을 얻는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-10 04:54:02457검색

How to Get the First Row of Each Group in a Pandas DataFrame by Multiple Columns?

여러 열로 Pandas DataFrame에서 각 그룹의 첫 번째 행 가져오기

Pandas DataFrame에서는 첫 번째 행을 검색해야 하는 경우가 많습니다. 특정 열을 기준으로 DataFrame을 그룹화한 후 각 그룹의 행. 이 작업은 pandas의 내장 메서드를 사용하여 효율적으로 수행할 수 있습니다.

이를 달성하려면 .first() 메서드를 사용하여 각 그룹에 대한 첫 번째(null이 아닌) 요소를 얻을 수 있습니다. first()의 구문은 다음과 같습니다.

df.groupby('group_columns').first()

귀하의 예에서는 'id' 및 'value' 열을 기준으로 DataFrame을 그룹화하고 각 그룹의 첫 번째 행을 가져오려고 합니다. 다음 코드를 사용할 수 있습니다.

df.groupby(['id', 'value']).first()

다음 결과가 생성됩니다.

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

결과 DataFrame의 열로 'id'를 사용하려는 경우 다음을 수행할 수 있습니다. 아래와 같이 Reset_index()를 사용하여 인덱스를 재설정합니다.

df.groupby(['id', 'value']).first().reset_index()

이 작업의 출력은 다음과 같습니다. be:

id value
1 first
2 first
3 first
4 second
5 first
6 first
7 fourth

또한 각 그룹 내에서 처음 n개 행을 검색하려면 first() 대신 .head() 메서드를 사용할 수 있습니다. 예를 들어 각 그룹의 처음 두 행을 가져오려면 다음을 사용할 수 있습니다.

df.groupby('id').head(2).reset_index(drop=True)

이렇게 하면 다음 DataFrame이 반환됩니다.

id value
1 first
1 second
2 first
2 second
3 first
3 third
4 second
4 fifth
5 first
6 first
6 second
7 fourth
7 fifth

위 내용은 여러 열로 Pandas DataFrame에서 각 그룹의 첫 번째 행을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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