2017-02-02 7 views
2

안녕하세요, Team에 표시되는 고유 한 Player을 찾으려고합니다.팬더 그룹의 교차점

DF =

Team Player Number 
A  Joe  8 
A  Mike  10 
A  Steve  11 
B  Henry  9 
B  Steve  19 
B  Joe  4 
C  Mike  18 
C  Joe  6 
C  Steve  18 
C  Dan  1 
C  Henry  3 

그 결과는 다음과 같아야합니다

결과 =

Team Player Number 
A  Joe  8 
A  Steve  11 
B  Joe  4 
B  Steve  19 
C  Joe  6 
C  Steve  18 

조 스티브 당신이 사용할 수있는 각 Team

답변

5

에서 유일하게 Player 때문에 유니크의 수를 얻으려면 GroupBy.transform 각 플레이어가 속한 팀을 찾아 고유 팀의 전체 수와 비교합니다.

df = df[df.groupby('Player')['Team'].transform('nunique') == df['Team'].nunique()] 

결과 출력 :

Team Player Number 
0 A Joe  8 
2 A Steve  11 
4 B Steve  19 
5 B Joe  4 
7 C Joe  6 
8 C Steve  18 
이 당신이 DataFrame를 필터링하는 데 사용할 수있는 부울 배열을 줄 것이다