Pandas Groupby 및 그룹 내 정렬
DataFrame을 여러 열로 그룹화하는 것은 데이터 조작에서 일반적인 작업입니다. 이를 통해 이러한 열을 기준으로 데이터를 집계하고 집계된 결과에 대해 추가 작업을 수행할 수 있습니다. 그러나 상위 또는 하위 행을 얻기 위해 각 그룹 내에서 집계된 결과를 정렬해야 하는 경우가 많습니다.
질문에 제공된 DataFrame df를 고려하세요.
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
목표는 다음과 같습니다. 작업 및 소스 열별로 df를 그룹화한 다음 각 그룹 내에서 'count' 열을 내림차순으로 정렬합니다. 이를 달성하기 위해 다음과 같이 groupby() 및 sort_values() 함수를 사용할 수 있습니다.
<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False)</code>
이렇게 하면 'count' 열이 각 그룹 내에서 내림차순으로 정렬되어 다음과 같은 출력이 제공됩니다.
job source sales E 7 C 6 B 4 D 3 A 2 market A 5 D 4 B 3 C 2 E 1
그러나 각 그룹 내 상위 3개 행만 얻으려면 head() 함수를 사용할 수 있습니다.
<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False).groupby('job').head(3)</code>
이렇게 하면 다음과 같은 결과가 나옵니다.
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
groupby(), sort_values(), head() 함수를 결합하면 Pandas의 각 그룹 내에서 위쪽 또는 아래쪽 행을 효과적으로 그룹화, 정렬, 선택할 수 있습니다.
위 내용은 DataFrame의 특정 열 내에서 데이터를 그룹화하고 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!