2017-12-31 3 views
1

데이터 프레임에 'Over_Id'열을 그룹화하고 그룹화하는 동안 열 runs_scored의 값을 합산하려고합니다. 내가 groupby를 사용하는 경우Python Dataframe groupby와 행 값을 합하는 방법

, 내 다른 열

예 느슨한 :

ball.groupby(['Match_Id','Innings_Id','Over_Id'])['runs_scored'].sum() 

enter image description here

runs_scored 열을 얻을 수 있었다, 그러나 새로운 Dataframe에서 내 실제하지 이미지에서 본. 내 runs_scored 컬럼의 추가는 3 열을 기반으로하기 때문에 merge을 사용할 수 없습니다.

간단히 말해서, 각 Over_Id에 대해 1 개의 항목 만 필요하며 해당하는 runs_scored입니다.

어떻게하면됩니까?

답변

3

runs_scored 열 외에 모든 열별로 그룹화 한 다음 합계를 찾을 수 있습니다.

c = df.columns.difference(['runs_scored']).tolist() 
df = df.groupby(c, as_index=False).runs_scored.sum() 

참고로 많은 중복 데이터 항목이있는 것으로 보입니다. 테이블을 표준화 해 보셨습니까?

+0

Worked! 감사. 이 데이터를 사용하여 내 모델을 교육하고 다른 데이터가있는 다른 필드도 있습니다 (이미지에 모두 표시되지 않았습니다). –

+1

@JaskaranSinghPuri 좋습니다. 그렇다면 괜찮습니다. 단일 테이블의 단점은 병합과 조인이 필요 없다는 것입니다. 일반적으로 값 비쌉니다 :-) –

관련 문제