> 백엔드 개발 > 파이썬 튜토리얼 > Pandas Groupby를 사용하여 DataFrame 행을 목록으로 그룹화하려면 어떻게 해야 합니까?

Pandas Groupby를 사용하여 DataFrame 행을 목록으로 그룹화하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-17 09:38:24
원래의
338명이 탐색했습니다.

How Can I Group DataFrame Rows into Lists Using Pandas Groupby?

Pandas GroupBy에서 DataFrame 행을 목록으로 그룹화

많은 데이터세트에는 행 전체에 중복된 정보가 포함되어 있습니다. 의미 있는 통찰력을 추출하려면 공통 속성을 기반으로 행을 그룹화해야 하는 경우가 많습니다. 이를 통해 각 그룹 내에서 데이터를 집계하고 조작할 수 있습니다. 이 글에서는 Pandas groupby에서 데이터프레임 행을 목록으로 그룹화하는 방법을 살펴보겠습니다.

그룹화 및 집계

'a'와 'b'라는 두 개의 열이 있는 데이터프레임을 생각해 보세요.

a b
A 1
A 2
B 5
B 5
B 4
C 6
로그인 후 복사

목표는 첫 번째 열('a')을 기준으로 행을 그룹화하고 두 번째 열의 값 목록을 만드는 것입니다. ('b') 각 그룹에 대해. 원하는 출력은 다음과 같습니다.

A [1,2]
B [5,5,4]
C [6]
로그인 후 복사

이를 달성하려면 Pandas의 groupby 및 Apply 기능을 사용할 수 있습니다. groupby 함수는 지정된 열을 기준으로 행을 그룹화하고 Apply 함수를 사용하면 각 그룹에 대해 작업을 수행할 수 있습니다. 이 경우 목록 함수를 적용하여 각 그룹의 값 목록을 생성합니다.

df.groupby('a')['b'].apply(list)
로그인 후 복사

이 코드는 각 그룹의 값 목록이 포함된 Series 개체를 반환합니다.

a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object
로그인 후 복사

새 데이터프레임 생성

그룹화된 목록으로 새 데이터프레임을 생성하려면 Reset_index 함수를 사용하여 Series 개체를 다음으로 변환할 수 있습니다. 새 데이터 프레임을 만들고 목록이 포함된 열의 이름을 바꿉니다.

df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
로그인 후 복사

결과 데이터 프레임은 다음과 같습니다.

   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
로그인 후 복사

위 내용은 Pandas Groupby를 사용하여 DataFrame 행을 목록으로 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿