@@ -292,12 +292,13 @@ def test_value_counts_unique_nunique(self):
292292 o = klass (np .repeat (values , range (1 , len (o ) + 1 )))
293293
294294 if isinstance (o , DatetimeIndex ):
295- # DatetimeIndex: nan is casted to Nat and included
296- expected_s = Series (list (range (10 , 2 , - 1 )) + [ 3 ] , index = values [9 :0 :- 1 ])
295+ expected_s_na = Series ( list ( range ( 10 , 2 , - 1 )) + [ 3 ], index = values [ 9 : 0 : - 1 ])
296+ expected_s = Series (list (range (10 , 2 , - 1 )), index = values [9 :1 :- 1 ])
297297 else :
298- # nan is excluded
299- expected_s = Series (range (10 , 2 , - 1 ), index = values [9 :1 :- 1 ], dtype = 'int64' )
298+ expected_s_na = Series ( list ( range ( 10 , 2 , - 1 )) + [ 3 ], index = values [ 9 : 0 : - 1 ], dtype = 'int64' )
299+ expected_s = Series (list ( range (10 , 2 , - 1 ) ), index = values [9 :1 :- 1 ], dtype = 'int64' )
300300
301+ tm .assert_series_equal (o .value_counts (dropna = False ), expected_s_na )
301302 tm .assert_series_equal (o .value_counts (), expected_s )
302303
303304 # numpy_array_equal cannot compare arrays includes nan
@@ -309,10 +310,8 @@ def test_value_counts_unique_nunique(self):
309310 else :
310311 self .assertTrue (pd .isnull (result [0 ]))
311312
312- if isinstance (o , DatetimeIndex ):
313- self .assertEqual (o .nunique (), 9 )
314- else :
315- self .assertEqual (o .nunique (), 8 )
313+ self .assertEqual (o .nunique (), 8 )
314+ self .assertEqual (o .nunique (dropna = False ), 9 )
316315
317316 def test_value_counts_inferred (self ):
318317 klasses = [Index , Series ]
@@ -406,6 +405,9 @@ def test_value_counts_inferred(self):
406405
407406 result = s .value_counts ()
408407 self .assertEqual (result .index .dtype , 'datetime64[ns]' )
408+ tm .assert_series_equal (result , expected_s )
409+
410+ result = s .value_counts (dropna = False )
409411 expected_s [pd .NaT ] = 1
410412 tm .assert_series_equal (result , expected_s )
411413
@@ -415,7 +417,8 @@ def test_value_counts_inferred(self):
415417 self .assert_numpy_array_equal (unique [:3 ], expected )
416418 self .assertTrue (unique [3 ] is pd .NaT or unique [3 ].astype ('int64' ) == pd .tslib .iNaT )
417419
418- self .assertEqual (s .nunique (), 4 )
420+ self .assertEqual (s .nunique (), 3 )
421+ self .assertEqual (s .nunique (dropna = False ), 4 )
419422
420423 # timedelta64[ns]
421424 td = df .dt - df .dt + timedelta (1 )
0 commit comments