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