@@ -143,6 +143,34 @@ def test_representation(self):
143
143
result = getattr (idx , func )()
144
144
self .assertEqual (result , expected )
145
145
146
+ def test_summary (self ):
147
+ # GH9116
148
+ idx1 = DatetimeIndex ([], freq = 'D' )
149
+ idx2 = DatetimeIndex (['2011-01-01' ], freq = 'D' )
150
+ idx3 = DatetimeIndex (['2011-01-01' , '2011-01-02' ], freq = 'D' )
151
+ idx4 = DatetimeIndex (['2011-01-01' , '2011-01-02' , '2011-01-03' ], freq = 'D' )
152
+ idx5 = DatetimeIndex (['2011-01-01 09:00' , '2011-01-01 10:00' , '2011-01-01 11:00' ],
153
+ freq = 'H' , tz = 'Asia/Tokyo' )
154
+ idx6 = DatetimeIndex (['2011-01-01 09:00' , '2011-01-01 10:00' , pd .NaT ],
155
+ tz = 'US/Eastern' )
156
+
157
+ exp1 = """DatetimeIndex: 0 entries
158
+ Freq: D"""
159
+ exp2 = """DatetimeIndex: 1 entries, 2011-01-01 to 2011-01-01
160
+ Freq: D"""
161
+ exp3 = """DatetimeIndex: 2 entries, 2011-01-01 to 2011-01-02
162
+ Freq: D"""
163
+ exp4 = """DatetimeIndex: 3 entries, 2011-01-01 to 2011-01-03
164
+ Freq: D"""
165
+ exp5 = """DatetimeIndex: 3 entries, 2011-01-01 09:00:00+09:00 to 2011-01-01 11:00:00+09:00
166
+ Freq: H"""
167
+ exp6 = """DatetimeIndex: 3 entries, 2011-01-01 09:00:00-05:00 to NaT"""
168
+
169
+ for idx , expected in zip ([idx1 , idx2 , idx3 , idx4 , idx5 , idx6 ],
170
+ [exp1 , exp2 , exp3 , exp4 , exp5 , exp6 ]):
171
+ result = idx .summary ()
172
+ self .assertEqual (result , expected )
173
+
146
174
def test_resolution (self ):
147
175
for freq , expected in zip (['A' , 'Q' , 'M' , 'D' , 'H' , 'T' , 'S' , 'L' , 'U' ],
148
176
['day' , 'day' , 'day' , 'day' ,
@@ -336,16 +364,16 @@ def test_representation(self):
336
364
337
365
338
366
exp1 = """<class 'pandas.tseries.tdi.TimedeltaIndex'>
339
- Length: 0, Freq: <Day> """
367
+ Length: 0, Freq: D """
340
368
exp2 = """<class 'pandas.tseries.tdi.TimedeltaIndex'>
341
369
['1 days']
342
- Length: 1, Freq: <Day> """
370
+ Length: 1, Freq: D """
343
371
exp3 = """<class 'pandas.tseries.tdi.TimedeltaIndex'>
344
372
['1 days', '2 days']
345
- Length: 2, Freq: <Day> """
373
+ Length: 2, Freq: D """
346
374
exp4 = """<class 'pandas.tseries.tdi.TimedeltaIndex'>
347
375
['1 days', ..., '3 days']
348
- Length: 3, Freq: <Day> """
376
+ Length: 3, Freq: D """
349
377
exp5 = """<class 'pandas.tseries.tdi.TimedeltaIndex'>
350
378
['1 days 00:00:01', ..., '3 days 00:00:00']
351
379
Length: 3, Freq: None"""
@@ -356,6 +384,29 @@ def test_representation(self):
356
384
result = getattr (idx , func )()
357
385
self .assertEqual (result , expected )
358
386
387
+ def test_summary (self ):
388
+ # GH9116
389
+ idx1 = TimedeltaIndex ([], freq = 'D' )
390
+ idx2 = TimedeltaIndex (['1 days' ], freq = 'D' )
391
+ idx3 = TimedeltaIndex (['1 days' , '2 days' ], freq = 'D' )
392
+ idx4 = TimedeltaIndex (['1 days' , '2 days' , '3 days' ], freq = 'D' )
393
+ idx5 = TimedeltaIndex (['1 days 00:00:01' , '2 days' , '3 days' ])
394
+
395
+ exp1 = """TimedeltaIndex: 0 entries
396
+ Freq: D"""
397
+ exp2 = """TimedeltaIndex: 1 entries, '1 days' to '1 days'
398
+ Freq: D"""
399
+ exp3 = """TimedeltaIndex: 2 entries, '1 days' to '2 days'
400
+ Freq: D"""
401
+ exp4 = """TimedeltaIndex: 3 entries, '1 days' to '3 days'
402
+ Freq: D"""
403
+ exp5 = """TimedeltaIndex: 3 entries, '1 days 00:00:01' to '3 days 00:00:00'"""
404
+
405
+ for idx , expected in zip ([idx1 , idx2 , idx3 , idx4 , idx5 ],
406
+ [exp1 , exp2 , exp3 , exp4 , exp5 ]):
407
+ result = idx .summary ()
408
+ self .assertEqual (result , expected )
409
+
359
410
def test_add_iadd (self ):
360
411
361
412
# only test adding/sub offsets as + is now numeric
@@ -755,6 +806,43 @@ def test_representation(self):
755
806
result = getattr (idx , func )()
756
807
self .assertEqual (result , expected )
757
808
809
+ def test_summary (self ):
810
+ # GH9116
811
+ idx1 = PeriodIndex ([], freq = 'D' )
812
+ idx2 = PeriodIndex (['2011-01-01' ], freq = 'D' )
813
+ idx3 = PeriodIndex (['2011-01-01' , '2011-01-02' ], freq = 'D' )
814
+ idx4 = PeriodIndex (['2011-01-01' , '2011-01-02' , '2011-01-03' ], freq = 'D' )
815
+ idx5 = PeriodIndex (['2011' , '2012' , '2013' ], freq = 'A' )
816
+ idx6 = PeriodIndex (['2011-01-01 09:00' , '2012-02-01 10:00' , 'NaT' ], freq = 'H' )
817
+
818
+ idx7 = pd .period_range ('2013Q1' , periods = 1 , freq = "Q" )
819
+ idx8 = pd .period_range ('2013Q1' , periods = 2 , freq = "Q" )
820
+ idx9 = pd .period_range ('2013Q1' , periods = 3 , freq = "Q" )
821
+
822
+ exp1 = """PeriodIndex: 0 entries
823
+ Freq: D"""
824
+ exp2 = """PeriodIndex: 1 entries, 2011-01-01 to 2011-01-01
825
+ Freq: D"""
826
+ exp3 = """PeriodIndex: 2 entries, 2011-01-01 to 2011-01-02
827
+ Freq: D"""
828
+ exp4 = """PeriodIndex: 3 entries, 2011-01-01 to 2011-01-03
829
+ Freq: D"""
830
+ exp5 = """PeriodIndex: 3 entries, 2011 to 2013
831
+ Freq: A-DEC"""
832
+ exp6 = """PeriodIndex: 3 entries, 2011-01-01 09:00 to NaT
833
+ Freq: H"""
834
+ exp7 = """PeriodIndex: 1 entries, 2013Q1 to 2013Q1
835
+ Freq: Q-DEC"""
836
+ exp8 = """PeriodIndex: 2 entries, 2013Q1 to 2013Q2
837
+ Freq: Q-DEC"""
838
+ exp9 = """PeriodIndex: 3 entries, 2013Q1 to 2013Q3
839
+ Freq: Q-DEC"""
840
+
841
+ for idx , expected in zip ([idx1 , idx2 , idx3 , idx4 , idx5 , idx6 , idx7 , idx8 , idx9 ],
842
+ [exp1 , exp2 , exp3 , exp4 , exp5 , exp6 , exp7 , exp8 , exp9 ]):
843
+ result = idx .summary ()
844
+ self .assertEqual (result , expected )
845
+
758
846
def test_resolution (self ):
759
847
for freq , expected in zip (['A' , 'Q' , 'M' , 'D' , 'H' , 'T' , 'S' , 'L' , 'U' ],
760
848
['day' , 'day' , 'day' , 'day' ,
0 commit comments