@@ -270,33 +270,33 @@ def test_fillna(self):
270270 pd .Timestamp ('2012-11-11 00:00:00+01:00' )]})
271271 assert_frame_equal (df .fillna (method = 'bfill' ), exp )
272272
273- def test_na_actions (self ):
273+ def test_na_actions_categorical (self ):
274274
275- cat = pd . Categorical ([1 , 2 , 3 , np .nan ], categories = [1 , 2 , 3 ])
275+ cat = Categorical ([1 , 2 , 3 , np .nan ], categories = [1 , 2 , 3 ])
276276 vals = ["a" , "b" , np .nan , "d" ]
277- df = pd . DataFrame ({"cats" : cat , "vals" : vals })
278- cat2 = pd . Categorical ([1 , 2 , 3 , 3 ], categories = [1 , 2 , 3 ])
277+ df = DataFrame ({"cats" : cat , "vals" : vals })
278+ cat2 = Categorical ([1 , 2 , 3 , 3 ], categories = [1 , 2 , 3 ])
279279 vals2 = ["a" , "b" , "b" , "d" ]
280- df_exp_fill = pd . DataFrame ({"cats" : cat2 , "vals" : vals2 })
281- cat3 = pd . Categorical ([1 , 2 , 3 ], categories = [1 , 2 , 3 ])
280+ df_exp_fill = DataFrame ({"cats" : cat2 , "vals" : vals2 })
281+ cat3 = Categorical ([1 , 2 , 3 ], categories = [1 , 2 , 3 ])
282282 vals3 = ["a" , "b" , np .nan ]
283- df_exp_drop_cats = pd . DataFrame ({"cats" : cat3 , "vals" : vals3 })
284- cat4 = pd . Categorical ([1 , 2 ], categories = [1 , 2 , 3 ])
283+ df_exp_drop_cats = DataFrame ({"cats" : cat3 , "vals" : vals3 })
284+ cat4 = Categorical ([1 , 2 ], categories = [1 , 2 , 3 ])
285285 vals4 = ["a" , "b" ]
286- df_exp_drop_all = pd . DataFrame ({"cats" : cat4 , "vals" : vals4 })
286+ df_exp_drop_all = DataFrame ({"cats" : cat4 , "vals" : vals4 })
287287
288288 # fillna
289289 res = df .fillna (value = {"cats" : 3 , "vals" : "b" })
290290 tm .assert_frame_equal (res , df_exp_fill )
291291
292- def f ():
292+ with tm .assert_raises_regex (ValueError , "fill value must be "
293+ "in categories" ):
293294 df .fillna (value = {"cats" : 4 , "vals" : "c" })
294295
295- pytest .raises (ValueError , f )
296-
297296 res = df .fillna (method = 'pad' )
298297 tm .assert_frame_equal (res , df_exp_fill )
299298
299+ # dropna
300300 res = df .dropna (subset = ["cats" ])
301301 tm .assert_frame_equal (res , df_exp_drop_cats )
302302
@@ -308,19 +308,20 @@ def f():
308308 df = pd .DataFrame ({"cats" : c , "vals" : [1 , 2 , 3 ]})
309309
310310 cat_exp = Categorical (["a" , "b" , "a" ], categories = ["a" , "b" ])
311- df_exp = pd . DataFrame ({"cats" : cat_exp , "vals" : [1 , 2 , 3 ]})
311+ df_exp = DataFrame ({"cats" : cat_exp , "vals" : [1 , 2 , 3 ]})
312312
313313 res = df .fillna ("a" )
314314 tm .assert_frame_equal (res , df_exp )
315315
316+ def test_fillna_categorical_nan (self ):
316317 # GH 14021
317- # np.nan should always be a is a valid filler
318+ # np.nan should always be a valid filler
318319 cat = Categorical ([np .nan , 2 , np .nan ])
319320 val = Categorical ([np .nan , np .nan , np .nan ])
320321 df = DataFrame ({"cats" : cat , "vals" : val })
321322 res = df .fillna (df .median ())
322323 v_exp = [np .nan , np .nan , np .nan ]
323- df_exp = pd . DataFrame ({"cats" : [2 , 2 , 2 ], "vals" : v_exp },
324+ df_exp = DataFrame ({"cats" : [2 , 2 , 2 ], "vals" : v_exp },
324325 dtype = 'category' )
325326 tm .assert_frame_equal (res , df_exp )
326327
@@ -331,17 +332,17 @@ def f():
331332
332333 idx = pd .DatetimeIndex (['2011-01-01 09:00' , '2016-01-01 23:45' ,
333334 '2011-01-01 09:00' , pd .NaT , pd .NaT ])
334- df = DataFrame ({'a' : pd . Categorical (idx )})
335+ df = DataFrame ({'a' : Categorical (idx )})
335336 tm .assert_frame_equal (df .fillna (value = pd .NaT ), df )
336337
337338 idx = pd .PeriodIndex (['2011-01' , '2011-01' , '2011-01' ,
338339 pd .NaT , pd .NaT ], freq = 'M' )
339- df = DataFrame ({'a' : pd . Categorical (idx )})
340+ df = DataFrame ({'a' : Categorical (idx )})
340341 tm .assert_frame_equal (df .fillna (value = pd .NaT ), df )
341342
342343 idx = pd .TimedeltaIndex (['1 days' , '2 days' ,
343344 '1 days' , pd .NaT , pd .NaT ])
344- df = pd . DataFrame ({'a' : pd . Categorical (idx )})
345+ df = DataFrame ({'a' : Categorical (idx )})
345346 tm .assert_frame_equal (df .fillna (value = pd .NaT ), df )
346347
347348 def test_fillna_downcast (self ):
0 commit comments