@@ -1057,6 +1057,8 @@ def __init__(self, freq='Min', closed=None, label=None, how='mean',
1057
1057
convention = None , base = 0 , ** kwargs ):
1058
1058
freq = to_offset (freq )
1059
1059
1060
+ # _default_values is used for generating the __repr__ string
1061
+ self ._default_values = {}
1060
1062
end_types = set (['M' , 'A' , 'Q' , 'BM' , 'BA' , 'BQ' , 'W' ])
1061
1063
rule = freq .rule_code
1062
1064
if (rule in end_types or
@@ -1065,11 +1067,13 @@ def __init__(self, freq='Min', closed=None, label=None, how='mean',
1065
1067
closed = 'right'
1066
1068
if label is None :
1067
1069
label = 'right'
1070
+ self ._default_values .update (closed = 'right' , label = 'right' )
1068
1071
else :
1069
1072
if closed is None :
1070
1073
closed = 'left'
1071
1074
if label is None :
1072
1075
label = 'left'
1076
+ self ._default_values .update (closed = 'left' , label = 'left' )
1073
1077
1074
1078
self .closed = closed
1075
1079
self .label = label
@@ -1293,6 +1297,29 @@ def _get_time_period_bins(self, ax):
1293
1297
1294
1298
return binner , bins , labels
1295
1299
1300
+ def __repr__ (self ):
1301
+ if not hasattr (self , '_repr' ):
1302
+ defaults = dict (key = None , level = None , freq = None ,
1303
+ axis = 0 , sort = False )
1304
+ timegrouper_defaults = dict (freq = 'Min' ,
1305
+ how = 'mean' ,
1306
+ nperiods = None , axis = 0 ,
1307
+ fill_method = None , limit = None ,
1308
+ loffset = None ,
1309
+ kind = None ,
1310
+ convention = 'e' , base = 0 ,
1311
+ sort = True )
1312
+ timegrouper_defaults .update (self ._default_values )
1313
+ defaults .update (timegrouper_defaults )
1314
+
1315
+ attrs = {k : v for k , v in self .__dict__ .items ()
1316
+ if k in defaults and v != defaults [k ]}
1317
+ attrs ['freq' ] = attrs ['freq' ].freqstr
1318
+ attrs = ", " .join ("{}={!r}" .format (k , v ) for k , v in attrs .items ())
1319
+ cls_name = self .__class__ .__name__
1320
+ self ._repr = "{}({})" .format (cls_name , attrs )
1321
+ return self ._repr
1322
+
1296
1323
1297
1324
def _take_new_index (obj , indexer , new_index , axis = 0 ):
1298
1325
from pandas .core .api import Series , DataFrame
0 commit comments