>백엔드 개발 >파이썬 튜토리얼 >Pandas GroupBy.agg()를 사용하여 동일한 열에서 여러 집계를 어떻게 수행할 수 있나요?

Pandas GroupBy.agg()를 사용하여 동일한 열에서 여러 집계를 어떻게 수행할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-12-06 17:50:151019검색

How Can I Perform Multiple Aggregations on the Same Column Using Pandas GroupBy.agg()?

Pandas GroupBy.agg()를 사용하여 동일한 열에 여러 집계

pandas에서 GroupBy.agg()를 사용하면 다음 항목을 편리하게 집계할 수 있습니다. 각 열에 함수를 적용하여 데이터를 생성합니다. 그러나 동일한 열에 서로 다른 함수를 적용하는 경우 agg()를 여러 번 호출해야 합니다.

전통적인(잘못된) 접근 방식:

직관적으로 간단한 접근 방식은 be:

df.groupby("dummy").agg({
    "returns": f1, 
    "returns": f2
})

안타깝게도 중복으로 인해 오류가 발생합니다. 키.

해결책:

agg()는 사전을 기대하므로 간단한 해결책은 열 이름과 함수 목록을 사용하여 사전을 생성하는 것입니다.

df.groupby("dummy").agg({
    "returns": [f1, f2]
})

이렇게 하면 두 집계의 출력이 포함된 다중 인덱스 DataFrame이 생성됩니다.

예:

다음 DataFrame을 고려하세요.

import pandas as pd
import datetime as dt
import numpy as np

pd.np.random.seed(0)
df = pd.DataFrame({
    "date": [dt.date(2012, x, 1) for x in range(1, 11)],
    "returns": 0.05 * np.random.randn(10),
    "dummy": np.repeat(1, 10)
})

"반품" 열에 평균과 합계를 모두 적용하려면:

df.groupby("dummy").agg({
    "returns": ["mean", "sum"]
})

이 결과는 다음과 같습니다.

           returns          
           mean       sum
dummy                    
1      0.036901  0.369012

위 내용은 Pandas GroupBy.agg()를 사용하여 동일한 열에서 여러 집계를 어떻게 수행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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