@@ -408,7 +408,7 @@ def time_multi_size(self):
408
408
self .df .groupby (["key1" , "key2" ]).size ()
409
409
410
410
def time_category_size (self ):
411
- self .draws .groupby (self .cats ).size ()
411
+ self .draws .groupby (self .cats , observed = True ).size ()
412
412
413
413
414
414
class Shift :
@@ -767,7 +767,10 @@ def time_str_func(self, dtype, method):
767
767
768
768
769
769
class Categories :
770
- def setup (self ):
770
+ params = [True , False ]
771
+ param_names = ["observed" ]
772
+
773
+ def setup (self , observed ):
771
774
N = 10 ** 5
772
775
arr = np .random .random (N )
773
776
data = {"a" : Categorical (np .random .randint (10000 , size = N )), "b" : arr }
@@ -785,23 +788,23 @@ def setup(self):
785
788
}
786
789
self .df_extra_cat = DataFrame (data )
787
790
788
- def time_groupby_sort (self ):
789
- self .df .groupby ("a" )["b" ].count ()
791
+ def time_groupby_sort (self , observed ):
792
+ self .df .groupby ("a" , observed = observed )["b" ].count ()
790
793
791
- def time_groupby_nosort (self ):
792
- self .df .groupby ("a" , sort = False )["b" ].count ()
794
+ def time_groupby_nosort (self , observed ):
795
+ self .df .groupby ("a" , observed = observed , sort = False )["b" ].count ()
793
796
794
- def time_groupby_ordered_sort (self ):
795
- self .df_ordered .groupby ("a" )["b" ].count ()
797
+ def time_groupby_ordered_sort (self , observed ):
798
+ self .df_ordered .groupby ("a" , observed = observed )["b" ].count ()
796
799
797
- def time_groupby_ordered_nosort (self ):
798
- self .df_ordered .groupby ("a" , sort = False )["b" ].count ()
800
+ def time_groupby_ordered_nosort (self , observed ):
801
+ self .df_ordered .groupby ("a" , observed = observed , sort = False )["b" ].count ()
799
802
800
- def time_groupby_extra_cat_sort (self ):
801
- self .df_extra_cat .groupby ("a" )["b" ].count ()
803
+ def time_groupby_extra_cat_sort (self , observed ):
804
+ self .df_extra_cat .groupby ("a" , observed = observed )["b" ].count ()
802
805
803
- def time_groupby_extra_cat_nosort (self ):
804
- self .df_extra_cat .groupby ("a" , sort = False )["b" ].count ()
806
+ def time_groupby_extra_cat_nosort (self , observed ):
807
+ self .df_extra_cat .groupby ("a" , observed = observed , sort = False )["b" ].count ()
805
808
806
809
807
810
class Datelike :
0 commit comments