"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > GroupBy DataFrames에서 Pandas Transform을 사용하여 열을 추가하는 방법은 무엇입니까?

GroupBy DataFrames에서 Pandas Transform을 사용하여 열을 추가하는 방법은 무엇입니까?

2024년 10월 31일에 게시됨
검색:434

How to Add a Column Using Pandas Transform in GroupBy DataFrames?

Pandas 변환을 사용하여 GroupBy DataFrame에 열 추가

Pandas에서 그룹별 작업을 수행할 때 새 열을 결과 데이터프레임. 이를 수행하는 한 가지 방법은 예제에서 설명한 대로 .map() 함수를 사용하는 것입니다. 그러나 대안적이고 보다 간단한 접근 방식은 .transform() 함수를 사용하는 것입니다.

.transform()을 사용하면 데이터 프레임의 각 그룹에 함수를 적용하고 결과와 함께 시리즈를 반환할 수 있습니다. 반환된 시리즈는 원래 데이터 프레임에 맞춰 정렬된 인덱스를 갖습니다.

설명을 위해 제공된 데이터 프레임부터 시작하겠습니다.

df = pd.DataFrame({'c': [1, 1, 1, 2, 2, 2, 2], 'type': ['m', 'n', 'o', 'm', 'm', 'n', 'n']})

우리의 목표는 각 c에 대한 유형 값을 계산하고 c 크기의 열을 추가하는 것입니다.

g = df.groupby('c')['type'].value_counts().reset_index(name='t')

이 코드는 각 그룹의 값을 계산하고 t라는 새 열을 생성합니다.

.transform()을 사용하여 크기 열을 추가하려면 다음을 수행합니다. 다음을 수행하십시오:

g['size'] = df.groupby('c')['type'].transform('size')

.transform('size') 각 그룹에 크기 함수를 적용하여 각 그룹의 크기를 반환합니다. 결과 시리즈는 원본 데이터프레임의 인덱스와 정렬되어 이를 g에 새 열로 추가할 수 있습니다.

출력은 size:

   c type  t  size
0  1    m  1     3
1  1    n  1     3
2  1    o  1     3
3  2    m  2     4
4  2    n  2     4

.transform()을 사용하면 그룹별 집계에서 원래 데이터 프레임에 열을 다시 추가하는 더 간결하고 간단한 방법을 제공합니다.

릴리스 선언문 이 글은 1729308259에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3