Pandas: 동일한 열 값을 가진 행을 결합하는 방법


다음 기본 구문을 사용하여 Pandas DataFrame에서 행을 동일한 열 값과 결합할 수 있습니다.

 #define how to aggregate various fields
agg_functions = {' field1 ': ' first ', ' field2 ': ' sum ', ' field ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 동일한 열 값을 가진 행 결합

회사의 다양한 직원이 수행한 판매 및 반품에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#create dataFrame
df = pd. DataFrame ({' id ': [101, 101, 102, 103, 103, 103],
                   ' employee ': ['Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'],
                   ' sales ': [4, 1, 3, 2, 5, 3],
                   ' returns ': [1, 2, 2, 1, 3, 2]})

#view DataFrame
print (df)

    id employee sales returns
0 101 Dan 4 1
1 101 Dan 1 2
2 102 Rick 3 2
3 103 Ken 2 1
4 103 Ken 5 3
5 103 Ken 3 2

다음 구문을 사용하여 id 열에서 동일한 값을 가진 행을 결합한 다음 나머지 열을 집계할 수 있습니다.

 #define how to aggregate various fields
agg_functions = {' employee ': ' first ', ' sales ': ' sum ', ' returns ': ' sum '}

#create new DataFrame by combining rows with same id values
df_new = df. groupby (df[' id ']). aggregate (agg_functions)

#view new DataFrame
print (df_new)

    employee sales returns
id                          
101 Dan 5 3
102 Rick 3 2
103 Ken 10 6

새로운 DataFrame은 id 열에 동일한 값을 가진 이전 DataFrame의 모든 행을 결합한 다음 salesreturn 열의 값 합계를 계산했습니다.

참고 : GroupBy() 함수와 함께 사용할 수 있는 전체 집계 목록은 pandas 설명서를 참조하세요.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: 두 열의 차이점을 찾는 방법
Pandas: 두 줄의 차이점을 찾는 방법
Pandas: 이름별로 열을 정렬하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다