@@ -94,16 +94,26 @@ def test_sum(self):
9494 def test_abs (self ):
9595 pdf = pd .DataFrame (
9696 {
97- "A" : [1 , - 2 , 3 , - 4 , 5 ],
98- "B" : [1.0 , - 2 , 3 , - 4 , 5 ],
99- "C" : [- 6.0 , - 7 , - 8 , - 9 , 10 ],
100- "D" : ["a" , "b" , "c" , "d" , "e" ],
97+ "A" : [1 , - 2 , np .nan , - 4 , 5 ],
98+ "B" : [1.0 , - 2 , np .nan , - 4 , 5 ],
99+ "C" : [- 6.0 , - 7 , - 8 , np .nan , 10 ],
100+ "D" : ["a" , "b" , "c" , "d" , np .nan ],
101+ "E" : [True , np .nan , False , True , True ],
101102 }
102103 )
103104 kdf = ks .from_pandas (pdf )
104105 self .assert_eq (kdf .A .abs (), pdf .A .abs ())
105106 self .assert_eq (kdf .B .abs (), pdf .B .abs ())
107+ self .assert_eq (kdf .E .abs (), pdf .E .abs ())
108+ # pandas' bug?
109+ # self.assert_eq(kdf[["B", "C", "E"]].abs(), pdf[["B", "C", "E"]].abs())
106110 self .assert_eq (kdf [["B" , "C" ]].abs (), pdf [["B" , "C" ]].abs ())
111+ self .assert_eq (kdf [["E" ]].abs (), pdf [["E" ]].abs ())
112+
113+ with self .assertRaisesRegex (TypeError , "bad operand type for abs\\ (\\ ): string" ):
114+ kdf .abs ()
115+ with self .assertRaisesRegex (TypeError , "bad operand type for abs\\ (\\ ): string" ):
116+ kdf .D .abs ()
107117
108118 def test_axis_on_dataframe (self ):
109119 # The number of each count is intentionally big
0 commit comments