@@ -4392,6 +4392,41 @@ def test_operators(self):
4392
4392
df = DataFrame ({'a' : ['a' , None , 'b' ]})
4393
4393
assert_frame_equal (df + df , DataFrame ({'a' : ['aa' , np .nan , 'bb' ]}))
4394
4394
4395
+ def test_operators_boolean (self ):
4396
+
4397
+ # GH 5808
4398
+ # empty frames, non-mixed dtype
4399
+
4400
+ result = DataFrame (index = [1 ]) & DataFrame (index = [1 ])
4401
+ assert_frame_equal (result ,DataFrame (index = [1 ]))
4402
+
4403
+ result = DataFrame (index = [1 ]) | DataFrame (index = [1 ])
4404
+ assert_frame_equal (result ,DataFrame (index = [1 ]))
4405
+
4406
+ result = DataFrame (index = [1 ]) & DataFrame (index = [1 ,2 ])
4407
+ assert_frame_equal (result ,DataFrame (index = [1 ,2 ]))
4408
+
4409
+ result = DataFrame (index = [1 ],columns = ['A' ]) & DataFrame (index = [1 ],columns = ['A' ])
4410
+ assert_frame_equal (result ,DataFrame (index = [1 ],columns = ['A' ]))
4411
+
4412
+ result = DataFrame (True ,index = [1 ],columns = ['A' ]) & DataFrame (True ,index = [1 ],columns = ['A' ])
4413
+ assert_frame_equal (result ,DataFrame (True ,index = [1 ],columns = ['A' ]))
4414
+
4415
+ result = DataFrame (True ,index = [1 ],columns = ['A' ]) | DataFrame (True ,index = [1 ],columns = ['A' ])
4416
+ assert_frame_equal (result ,DataFrame (True ,index = [1 ],columns = ['A' ]))
4417
+
4418
+ # boolean ops
4419
+ result = DataFrame (1 ,index = [1 ],columns = ['A' ]) | DataFrame (True ,index = [1 ],columns = ['A' ])
4420
+ assert_frame_equal (result ,DataFrame (1 ,index = [1 ],columns = ['A' ]))
4421
+
4422
+ def f ():
4423
+ DataFrame (1.0 ,index = [1 ],columns = ['A' ]) | DataFrame (True ,index = [1 ],columns = ['A' ])
4424
+ self .assertRaises (TypeError , f )
4425
+
4426
+ def f ():
4427
+ DataFrame ('foo' ,index = [1 ],columns = ['A' ]) | DataFrame (True ,index = [1 ],columns = ['A' ])
4428
+ self .assertRaises (TypeError , f )
4429
+
4395
4430
def test_operators_none_as_na (self ):
4396
4431
df = DataFrame ({"col1" : [2 , 5.0 , 123 , None ],
4397
4432
"col2" : [1 , 2 , 3 , 4 ]}, dtype = object )
0 commit comments