2017-12-29 36 views

답변

2

흠, 문제를 보니 인덱스에서 병합을 시도하는 것처럼 보이지만 열로 취급합니까? (이 경우 strint 고려?) 모두 인덱스가 동일한 유형의 있는지 확인하십시오, 또한

player_runs.merge(matches_played_by_players, 
        left_index=True, 
        right_index=True, 
        how='left') 

player_runs.index = player_runs.index.astype(int) 

을 그리고 - 병합 코드를 조금 변경해보십시오

matches_played_by_players.index = matches_played_by_players.index.astype(int)  
+0

, 나는 코드를 실행 새로운 오류가있어'에 ValueError : left_index 매개 변수, bool 형식이 아닌 ' –

+0

사용자가 입력해야하는 @JaskaranSinghPuri'TRUE '이 아닌이어야합니다 ''True '':-) –

+0

일했습니다! 고맙지 만 왼쪽 및 오른쪽 인덱스에 대해 index_name이 무엇인지 정의하지 않았습니다. 어떻게 가입했는지 어떻게 알았습니까? –

2

기본적으로 기존 열에는 병합되지 않습니다. 이는 reset_index이 적용된 데이터 프레임을 변경하는 대신 새 데이터 프레임을 생성하기 때문입니다. reset_index를 사용할 때 inplace=True 매개 변수를 설정하면이 문제가 해결되거나 각 데이터 프레임의 색인에 병합되어야합니다. 즉

모두 인덱스가 Int64` '의이다
pd.merge(df1,df2,left_index=True,right_index=True,how='left') 
+0

나는 오류의 원인을 설명하는 것일뿐입니다. – sgDysregulation