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 중국어 웹사이트의 기타 관련 기사를 참조하세요!