>  기사  >  백엔드 개발  >  Pandas DataFrames의 그룹 내에서 데이터를 정렬하는 방법은 무엇입니까?

Pandas DataFrames의 그룹 내에서 데이터를 정렬하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-20 17:27:02250검색

How to Sort Data Within Groups in Pandas DataFrames?

Pandas에서 그룹 내 정렬

Pandas 데이터 프레임으로 작업할 때 특정 열별로 데이터를 그룹화한 다음 추가 작업을 수행해야 하는 경우가 많습니다. 그 그룹 내에서. 일반적인 요구 사항 중 하나는 특정 기준에 따라 그룹화된 데이터를 정렬하는 것입니다.

이를 달성하려면 groupby 함수를 sort_values ​​함수와 연결하면 됩니다. 예를 들어 count, job, source 열이 있는 데이터프레임 df를 생각해 보세요.

In [167]: df

Out[167]:
   count     job source
0      2   sales      A
1      4   sales      B
2      6   sales      C
3      3   sales      D
4      7   sales      E
5      5  market      A
6      3  market      B
7      2  market      C
8      4  market      D
9      1  market      E

작업 및 소스별로 데이터를 그룹화한 다음 집계된 결과를 개수별로 내림차순으로 정렬하려면, 다음을 수행할 수 있습니다.

In [168]: df.groupby(['job','source']).agg({'count':sum})

이렇게 하면 각 그룹에 대해 집계된 개수 값이 포함된 새 데이터 프레임이 생성됩니다. 그러나 결과 데이터프레임은 개수별로 정렬되지 않습니다. 데이터프레임을 정렬하려면 sort_values ​​함수를 사용할 수 있습니다.

In [34]: df.sort_values(['job','count'],ascending=False)

이렇게 하면 먼저 작업별로 데이터프레임을 정렬한 다음 개수별로 내림차순으로 정렬합니다. 결과 데이터프레임은 다음과 같습니다.

Out[35]: 
   count     job source
4      7   sales      E
2      6   sales      C
1      4   sales      B
5      5  market      A
8      4  market      D
6      3  market      B

각 그룹의 상위 3개 행을 가져오려면 head 함수를 사용할 수 있습니다.

In [34]: df.sort_values(['job','count'],ascending=False).groupby('job').head(3)

이렇게 하면 새 데이터프레임이 생성됩니다. 각 그룹의 상위 3개 행을 포함하며 개수를 기준으로 내림차순으로 정렬됩니다.

Out[35]: 
   count     job source
4      7   sales      E
2      6   sales      C
1      4   sales      B
5      5  market      A
8      4  market      D
6      3  market      B

위 내용은 Pandas DataFrames의 그룹 내에서 데이터를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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