@@ -27,16 +27,20 @@ def test_merge_antijoin(self):
2727 tm .assert_frame_equal (result , expected )
2828
2929 def test_merge_antijoin_on_different_columns (self ):
30- left = DataFrame ({"A" : [1.0 , 2.0 , 3.0 ], "B" : ["a" , "b" , "c" ]})
31- right = DataFrame ({"C" : [1.0 , 2.0 , 4.0 ], "D" : ["a" , "d" , "b" ]})
30+ left = DataFrame ({"A" : [1.0 , 2.0 , 3.0 ], "B" : ["a" , "b" , "c" ]}).astype (
31+ {"B" : object }
32+ )
33+ right = DataFrame ({"C" : [1.0 , 2.0 , 4.0 ], "D" : ["a" , "d" , "b" ]}).astype (
34+ {"D" : object }
35+ )
3236
3337 result = merge (left , right , how = "left_anti" , left_on = "B" , right_on = "D" )
3438 expected = DataFrame (
3539 {
3640 "A" : [3.0 ],
3741 "B" : ["c" ],
3842 "C" : [np .nan ],
39- "D" : np .array ([np .nan ], dtype = right . D . dtype ),
43+ "D" : np .array ([np .nan ], dtype = object ),
4044 },
4145 index = [2 ],
4246 )
@@ -46,7 +50,7 @@ def test_merge_antijoin_on_different_columns(self):
4650 expected = DataFrame (
4751 {
4852 "A" : [np .nan ],
49- "B" : np .array ([np .nan ], dtype = left . B . dtype ),
53+ "B" : np .array ([np .nan ], dtype = object ),
5054 "C" : [2.0 ],
5155 "D" : ["d" ],
5256 },
@@ -55,16 +59,20 @@ def test_merge_antijoin_on_different_columns(self):
5559 tm .assert_frame_equal (result , expected )
5660
5761 def test_merge_antijoin_nonunique_keys (self ):
58- left = DataFrame ({"A" : [1.0 , 2.0 , 3.0 ], "B" : ["a" , "b" , "b" ]})
59- right = DataFrame ({"C" : [1.0 , 2.0 , 4.0 ], "D" : ["b" , "d" , "d" ]})
62+ left = DataFrame ({"A" : [1.0 , 2.0 , 3.0 ], "B" : ["a" , "b" , "b" ]}).astype (
63+ {"B" : object }
64+ )
65+ right = DataFrame ({"C" : [1.0 , 2.0 , 4.0 ], "D" : ["b" , "d" , "d" ]}).astype (
66+ {"D" : object }
67+ )
6068
6169 result = merge (left , right , how = "left_anti" , left_on = "B" , right_on = "D" )
6270 expected = DataFrame (
6371 {
6472 "A" : [1.0 ],
6573 "B" : ["a" ],
6674 "C" : [np .nan ],
67- "D" : np .array ([np .nan ], dtype = right . D . dtype ),
75+ "D" : np .array ([np .nan ], dtype = object ),
6876 },
6977 index = [0 ],
7078 )
@@ -74,7 +82,7 @@ def test_merge_antijoin_nonunique_keys(self):
7482 expected = DataFrame (
7583 {
7684 "A" : [np .nan , np .nan ],
77- "B" : np .array ([np .nan , np .nan ], dtype = left . B . dtype ),
85+ "B" : np .array ([np .nan , np .nan ], dtype = object ),
7886 "C" : [2.0 , 4.0 ],
7987 "D" : ["d" , "d" ],
8088 },
@@ -89,11 +97,15 @@ def test_merge_antijoin_same_df(self):
8997 tm .assert_frame_equal (result , expected , check_index_type = False )
9098
9199 def test_merge_antijoin_nans (self ):
92- left = DataFrame ({"A" : [1.0 , 2.0 , np .nan ], "C" : ["a" , "b" , "c" ]})
93- right = DataFrame ({"A" : [3.0 , 2.0 , np .nan ], "D" : ["d" , "e" , "f" ]})
100+ left = DataFrame ({"A" : [1.0 , 2.0 , np .nan ], "C" : ["a" , "b" , "c" ]}).astype (
101+ {"C" : object }
102+ )
103+ right = DataFrame ({"A" : [3.0 , 2.0 , np .nan ], "D" : ["d" , "e" , "f" ]}).astype (
104+ {"D" : object }
105+ )
94106 result = merge (left , right , how = "left_anti" , on = "A" )
95107 expected = DataFrame (
96- {"A" : [1.0 ], "C" : ["a" ], "D" : np .array ([np .nan ], dtype = right . D . dtype )}
108+ {"A" : [1.0 ], "C" : ["a" ], "D" : np .array ([np .nan ], dtype = object )}
97109 )
98110 tm .assert_frame_equal (result , expected )
99111
0 commit comments