인프런 커뮤니티 질문&답변

김상화님의 프로필 이미지

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

판다스 DataFrame의 정렬 그리고 Aggregation함수와 Group by 수행

집계 함수에서, 동일한 컬럼의 다른 함수 적용

해결된 질문

20.02.04 10:23 작성

·

150

1

안녕하세요.

1) 동일한 컬럼의 다른 함수 적용

titanic_df.groupby('Pclass')['Age'].agg([max, min])

2) 다른 컬럼에 다른 함수 적용

agg_format = {'Age':'max','SibSp':'sum','Fare':'mean'}

titanic_df.groupby('Pclass').agg(agg_format)

Q. 1) 2) 두가지를 동시에 할 순 없나요?

agg_format = {'Age':'max'   ,'Age':'min'   ,'SibSp':'sum','Fare':'mean'}

titanic_df.groupby('Pclass').agg(agg_format)

SELECT MAX(Age), MIN(Age), SUM(SibSp), AVG(Fare)

  FROM TITANIC_DF

 GROUP BY Pclass

처럼요. Q 결과에서는 Age 가 뒤에 위치한 Min 값으로 표현되서 Age|SibSp|Fare 세가지 컬럼만 나옵니다.

감사합니다.

답변 2

1

권 철민님의 프로필 이미지
권 철민
지식공유자

2020. 02. 04. 18:20

안녕하십니까,

가능합니다. 'Age':['max', 'min'] 처럼 리스트로 aggregation 함수들을 선언해 주면 됩니다.

agg_format={'Age':['max','min'], 'SibSp':'sum', 'Fare':'mean'}
titanic_df.groupby('Pclass').agg(agg_format)

감사합니다.

0

김상화님의 프로필 이미지
김상화
질문자

2020. 02. 04. 19:14

감사합니다!!!!