@@ -1028,7 +1028,7 @@ def __init__(self, freq='Min', closed=None, label=None, how='mean',
1028
1028
convention = None , base = 0 , ** kwargs ):
1029
1029
freq = to_offset (freq )
1030
1030
1031
- end_types = set ([ 'M' , 'A' , 'Q' , 'BM' , 'BA' , 'BQ' , 'W' ])
1031
+ end_types = { 'M' , 'A' , 'Q' , 'BM' , 'BA' , 'BQ' , 'W' }
1032
1032
rule = freq .rule_code
1033
1033
if (rule in end_types or
1034
1034
('-' in rule and rule [:rule .find ('-' )] in end_types )):
@@ -1286,6 +1286,28 @@ def _get_period_bins(self, ax):
1286
1286
1287
1287
return binner , bins , labels
1288
1288
1289
+ # _init_defaults is used in __repr__below
1290
+ _init_defaults = Grouper ._init_defaults .copy ()
1291
+ _init_defaults .update (freq = 'Min' , how = 'mean' , nperiods = None , axis = 0 ,
1292
+ fill_method = None , limit = None , loffset = None ,
1293
+ kind = None , convention = 'e' , base = 0 , sort = True )
1294
+ def __repr__ (self ):
1295
+ defaults = self ._init_defaults .copy ()
1296
+ end_types = {'M' , 'A' , 'Q' , 'BM' , 'BA' , 'BQ' , 'W' }
1297
+ rule = self .freq .rule_code
1298
+ if (rule in end_types or
1299
+ ('-' in rule and rule [:rule .find ('-' )] in end_types )):
1300
+ defaults .update (closed = 'right' , label = 'right' )
1301
+ else :
1302
+ defaults .update (closed = 'left' , label = 'left' )
1303
+
1304
+ attrs = {k : v for k , v in self .__dict__ .items ()
1305
+ if k in defaults and v != defaults [k ]}
1306
+ attrs ['freq' ] = attrs ['freq' ].freqstr
1307
+ attrs = ", " .join ("{}={!r}" .format (k , v ) for k , v in attrs .items ())
1308
+ cls_name = self .__class__ .__name__
1309
+ return "{}({})" .format (cls_name , attrs )
1310
+
1289
1311
1290
1312
def _take_new_index (obj , indexer , new_index , axis = 0 ):
1291
1313
from pandas .core .api import Series , DataFrame
0 commit comments