@@ -911,7 +911,7 @@ def _maybe_coerce_merge_keys(self):
911
911
# the same, then proceed
912
912
if is_numeric_dtype (lk ) and is_numeric_dtype (rk ):
913
913
if lk .dtype .kind == rk .dtype .kind :
914
- continue
914
+ pass
915
915
916
916
# check whether ints and floats
917
917
elif is_integer_dtype (rk ) and is_float_dtype (lk ):
@@ -920,21 +920,18 @@ def _maybe_coerce_merge_keys(self):
920
920
'columns where the float values '
921
921
'are not equal to their int '
922
922
'representation' , UserWarning )
923
- continue
923
+ pass
924
924
925
925
elif is_float_dtype (rk ) and is_integer_dtype (lk ):
926
926
if not (rk == rk .astype (lk .dtype )).all ():
927
927
warnings .warn ('You are merging on int and float '
928
928
'columns where the float values '
929
929
'are not equal to their int '
930
930
'representation' , UserWarning )
931
- continue
931
+ pass
932
932
933
933
# let's infer and see if we are ok
934
934
elif lib .infer_dtype (lk ) == lib .infer_dtype (rk ):
935
- continue
936
-
937
- else :
938
935
pass
939
936
940
937
# Houston, we have a problem!
@@ -944,14 +941,15 @@ def _maybe_coerce_merge_keys(self):
944
941
# then we would lose type information on some
945
942
# columns, and end up trying to merge
946
943
# incompatible dtypes. See GH 16900.
947
- if name in self .left .columns :
948
- typ = lk .categories .dtype if lk_is_cat else object
949
- self .left = self .left .assign (
950
- ** {name : self .left [name ].astype (typ )})
951
- if name in self .right .columns :
952
- typ = rk .categories .dtype if rk_is_cat else object
953
- self .right = self .right .assign (
954
- ** {name : self .right [name ].astype (typ )})
944
+ else :
945
+ if name in self .left .columns :
946
+ typ = lk .categories .dtype if lk_is_cat else object
947
+ self .left = self .left .assign (
948
+ ** {name : self .left [name ].astype (typ )})
949
+ if name in self .right .columns :
950
+ typ = rk .categories .dtype if rk_is_cat else object
951
+ self .right = self .right .assign (
952
+ ** {name : self .right [name ].astype (typ )})
955
953
956
954
def _validate_specification (self ):
957
955
# Hm, any way to make this logic less complicated??
0 commit comments