@@ -833,17 +833,18 @@ def test_dual_conditions_eq_and_ne(df, right):
833
833
.query (f"{ eq_A } == { eq_B } and { ne_A } != { ne_B } " )
834
834
.reset_index (drop = True )
835
835
)
836
- expected = expected .filter ([eq_A , eq_B , ne_A , ne_B ])
836
+ # nulls are not preserved for multiple conditions
837
+ # that involve `!=`
838
+ expected = expected .filter ([eq_A , eq_B , ne_A , ne_B ]).dropna ()
837
839
actual = df .conditional_join (
838
840
right ,
839
841
(eq_A , eq_B , "==" ),
840
842
(ne_A , ne_B , "!=" ),
841
843
how = "inner" ,
842
844
sort_by_appearance = True ,
843
845
)
844
- # nulls are not preserved for multiple conditions
845
- # that involve `!=`
846
- actual = actual .filter ([eq_A , eq_B , ne_A , ne_B ]).dropna ()
846
+
847
+ actual = actual .filter ([eq_A , eq_B , ne_A , ne_B ])
847
848
assert_frame_equal (actual , actual )
848
849
849
850
@@ -861,15 +862,16 @@ def test_dual_conditions_ne_and_eq(df, right):
861
862
.query (f"{ eq_A } != { eq_B } and { ne_A } == { ne_B } " )
862
863
.reset_index (drop = True )
863
864
)
864
- expected = expected .filter ([eq_A , eq_B , ne_A , ne_B ])
865
+ # nulls are not preserved for multiple conditions
866
+ # that involve `!=`
867
+ expected = expected .filter ([eq_A , eq_B , ne_A , ne_B ]).dropna ()
865
868
actual = df .conditional_join (
866
869
right ,
867
870
(eq_A , eq_B , "!=" ),
868
871
(ne_A , ne_B , "==" ),
869
872
how = "inner" ,
870
873
sort_by_appearance = True ,
871
874
)
872
- # nulls are not preserved for multiple conditions
873
- # that involve `!=`
874
- actual = actual .filter ([eq_A , eq_B , ne_A , ne_B ]).dropna ()
875
+
876
+ actual = actual .filter ([eq_A , eq_B , ne_A , ne_B ])
875
877
assert_frame_equal (expected , actual )
0 commit comments