@@ -342,78 +342,63 @@ def test_value_counts_object_inference_deprecated():
342342
343343
344344@pytest .mark .parametrize (
345- "index" ,
345+ ( "index" , "expected_index" ) ,
346346 [
347- pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ),
348- pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ),
349- ],
350- ids = ["DatetimeIndex[D]" , "TimedeltaIndex[h]" ],
351- )
352- @pytest .mark .parametrize (
353- "build,kwargs,exp_preserve,exp_hasnans,exp_index_fn" ,
354- [
355- (lambda idx : idx , {"sort" : False }, True , False , lambda idx , obj : idx ),
356- (
357- lambda idx : idx ,
358- {"sort" : False , "normalize" : True },
359- True ,
360- False ,
361- lambda idx , obj : idx ,
347+ pytest .param (
348+ pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ),
349+ pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ),
350+ ),
351+ pytest .param (
352+ pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ),
353+ pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ),
354+ ),
355+ pytest .param (
356+ pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ).insert (
357+ 1 , pd .date_range ("2016-01-01" , periods = 5 , freq = "D" )[1 ]
358+ ),
359+ DatetimeIndex (pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ), freq = None ),
360+ ),
361+ pytest .param (
362+ pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ).insert (
363+ 1 , pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" )[1 ]
364+ ),
365+ TimedeltaIndex (
366+ pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ), freq = None
367+ ),
362368 ),
363- (lambda idx : idx , {}, False , False , None ),
364- (
365- lambda idx : idx .insert (1 , idx [1 ]),
366- {"sort" : False },
367- False ,
368- False ,
369- lambda idx , obj : type (idx )(idx , freq = None ),
369+ pytest .param (
370+ pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ).delete (2 ),
371+ DatetimeIndex (
372+ pd .date_range ("2016-01-01" , periods = 5 , freq = "D" ).delete (2 ), freq = None
373+ ),
370374 ),
371- (
372- lambda idx : idx .delete (2 ),
373- { "sort" : False },
374- False ,
375- False ,
376- lambda idx , obj : type ( idx )( obj , freq = None ),
375+ pytest . param (
376+ pd . timedelta_range ( Timedelta ( 0 ), periods = 5 , freq = "h" ) .delete (2 ),
377+ TimedeltaIndex (
378+ pd . timedelta_range ( Timedelta ( 0 ), periods = 5 , freq = "h" ). delete ( 2 ) ,
379+ freq = None ,
380+ ),
377381 ),
378- (
379- lambda idx : idx .insert (1 , pd .NaT ),
380- { "sort" : False , "dropna" : False },
381- False ,
382- True ,
383- lambda idx , obj : type ( idx )(
384- list ( idx [: 1 ]) + [ pd . NaT ] + list ( idx [ 1 :]), freq = None
382+ pytest . param (
383+ pd . date_range ( "2016-01-01" , periods = 5 , freq = "D" ) .insert (1 , pd .NaT ),
384+ DatetimeIndex (
385+ list ( pd . date_range ( "2016-01-01" , periods = 5 , freq = "D" )[: 1 ])
386+ + [ pd . NaT ]
387+ + list ( pd . date_range ( "2016-01-01" , periods = 5 , freq = "D" )[ 1 :]),
388+ freq = None ,
385389 ),
386390 ),
387- (
388- lambda idx : idx .insert (1 , pd .NaT ),
389- {"sort" : False , "dropna" : True },
390- False ,
391- False ,
392- lambda idx , obj : type (idx )(idx , freq = None ),
391+ pytest .param (
392+ pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" ).insert (1 , pd .NaT ),
393+ TimedeltaIndex (
394+ list (pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" )[:1 ])
395+ + [pd .NaT ]
396+ + list (pd .timedelta_range (Timedelta (0 ), periods = 5 , freq = "h" )[1 :]),
397+ freq = None ,
398+ ),
393399 ),
394400 ],
395401)
396- def test_value_counts_freq_datetimelike (
397- index , build , kwargs , exp_preserve , exp_hasnans , exp_index_fn
398- ):
399- obj = build (index )
400- vc = obj .value_counts (** kwargs )
401-
402- # without sort
403- if exp_index_fn is not None :
404- expected_idx = exp_index_fn (index , obj )
405- tm .assert_index_equal (vc .index , expected_idx )
406-
407- # freq preservation / drop
408- if exp_preserve :
409- assert vc .index .freq == index .freq
410- else :
411- assert vc .index .freq is None
412-
413- # NaT presence
414- assert vc .index .hasnans is exp_hasnans
415-
416- # without normalize
417- if kwargs .get ("normalize" , False ):
418- expected_val = 1.0 / len (index )
419- assert np .isclose (vc .to_numpy (), expected_val ).all ()
402+ def test_value_counts_index_datetimelike (index , expected_index ):
403+ vc = index .value_counts (sort = False , dropna = False )
404+ tm .assert_index_equal (vc .index , expected_index )
0 commit comments