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

DataFrame의 특정 열 내에서 데이터를 그룹화하고 정렬하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-20 17:20:02128검색

How to Group and Sort Data within Specific Columns in a DataFrame?

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

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