여러 개의 "값"열이있는 피벗 테이블을 생성하려고 시도하고있었습니다. 나는 내가 원하는 방식으로 값을 집계하기 위해 aggfunc를 사용할 수 있다는 것을 알고 있지만 두 열을 모두 합하거나 평균 싶지는 않지만 대신 다른 열의 평균을 구하는 동안 한 열 합계를 원한다. 그래서 팬더를 사용하는 것이 가능합니까?팬다 피봇 테이블의 각 값 열에 대해 aggfunc을 정의합니다.
pd.pivot_table(df, values=['D','E'], rows=['B'], aggfunc=np.mean)
가 어떻게 D
에 대한 합계를 얻을 E
에 대한 의미 할 수있다 :
pd.pivot_table(df, values=['D','E'], rows=['B'], aggfunc=np.sum)
그리고이 평균을 위해 :
df = pd.DataFrame({
'A' : ['one', 'one', 'two', 'three'] * 6,
'B' : ['A', 'B', 'C'] * 8,
'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
'D' : np.random.randn(24),
'E' : np.random.randn(24)
})
지금이 피벗 합계 테이블을받을 수 있습니까?
희망 사항은 분명합니다.
감사합니다. 두 가지 방법 모두 사용할 수 있습니다. 그러나 내가 얻고 싶었던 것은 약간의 한 걸음이었습니다. 각 개별 열에 대해 함수를 정의 할 수 있다고 말했던 것처럼. 다른 사람이 그런 식으로 알고 있으면 잠시 기다려서 내가 잠시 동안 당신을 대답으로 받아 들일 것입니다. –
@VIKASHJAISWAL 세 번째 방법을 참조하십시오, 이것이 당신이 필요로하는 것 같아요 –
우수. 정확하게 내가 찾고 있던 것은 사실 다중 컬럼뿐만 아니라 df.groupby ([ 'B', 'C'])에 의해 그룹화하기 위해서입니다. 집계 ({ 'D': np.sum, 'E': np. 평균}). 노력해 주셔서 감사합니다. –