2017-11-26 2 views
-1

나는 Matches이라는 열과 MatchIDs이라는 팬더 데이터 프레임이 있습니다. 후팬더 열의 문자열이 목록에 표시되는지 확인하는 방법

Man CityTottenham 
BoltonMan City 
Man CityWigan 
NewcastleMan City 
ChelseaMan City 
Man CityWest Ham 
Man UnitedMan City 
Man CityFulham 
Man CityBlackpool 

내가 누구인지 :이 Matches DataFrame의 또 다른 열에서

, 각 ID, 0 또는 1의 바이너리 출력, ID가 표시되는 경우는 아래와 같이 일치 ID의 선택을 포함 완전히 별개의 DataFrame에서는 Rivals (목록/사전이 더 좋을지 확실하지 않음)이라고합니다.

: 그래서 별도의 DataFrame Rivals에있을 것입니다 :
Man CityTottenham 
Man UnitedMan City 
ChelseaMan City 

그리고 원래 DataFrame Matches에 대한

, 1은 MatchID이 Rivals 나타나는 경우, 수여 0이 아닌 경우입니다. 그것은 Rivals DataFrame에 나타나기 때문에 NewcastleMan City은 =이 0

내가 노력하고 일을 올바른 방법을 찾기 위해 분투 반면, 그래서

Man CityTottenham  1 
BoltonMan City  0 
Man CityWigan   0 
NewcastleMan City  0 
ChelseaMan City  1 
Man CityWest Ham  0 
Man UnitedMan City 1 
Man CityFulham  0 
Man CityBlackpool  0 

Man UnitedMan City = 1 : 올바른 출력은 오른쪽 열에입니다 이 모든 도움 정말 고맙겠습니다!

설명이 충분히 명확하다.

Rivals라는 두 번째 df에서 열 MatchIDs의 체크 값 astype에 의해 int에 마지막 캐스트 부울 마스크

답변

0

사용 isin :

Matches['new'] = Matches['MatchIDs'].isin(Rivals['MatchIDs']).astype(int) 

값은 list에 또한 경우 :

Matches['new'] = Matches['MatchIDs'].isin(L).astype(int) 
관련 문제