@@ -230,7 +230,7 @@ def _start(self):
230
230
The value of the `start` parameter (or ``0`` if this was not supplied)
231
231
232
232
.. deprecated:: 0.25.0
233
- Use ._range. start or .start instead.
233
+ Use ``. start`` instead.
234
234
"""
235
235
return self ._range .start
236
236
@@ -247,7 +247,7 @@ def _stop(self):
247
247
The value of the `stop` parameter
248
248
249
249
.. deprecated:: 0.25.0
250
- Use ._range. stop or .stop instead.
250
+ Use ``. stop`` instead.
251
251
"""
252
252
# GH 25710
253
253
return self ._range .stop
@@ -266,7 +266,7 @@ def _step(self):
266
266
The value of the `step` parameter (or ``1`` if this was not supplied)
267
267
268
268
.. deprecated:: 0.25.0
269
- Use ._range. step or .step instead.
269
+ Use ``. step`` instead.
270
270
"""
271
271
# GH 25710
272
272
return self ._range .step
@@ -333,8 +333,8 @@ def tolist(self):
333
333
def _shallow_copy (self , values = None , ** kwargs ):
334
334
if values is None :
335
335
name = kwargs .get ("name" , self .name )
336
- return RangeIndex ._simple_new (
337
- name = name , ** dict (self ._get_data_as_items ()))
336
+ return self ._simple_new (name = name ,
337
+ ** dict (self ._get_data_as_items ()))
338
338
else :
339
339
kwargs .setdefault ('name' , self .name )
340
340
return self ._int64index ._shallow_copy (values , ** kwargs )
@@ -344,7 +344,7 @@ def copy(self, name=None, deep=False, dtype=None, **kwargs):
344
344
self ._validate_dtype (dtype )
345
345
if name is None :
346
346
name = self .name
347
- return RangeIndex .from_range (self ._range , name = name )
347
+ return self .from_range (self ._range , name = name )
348
348
349
349
def _minmax (self , meth ):
350
350
no_steps = len (self ) - 1
@@ -426,7 +426,7 @@ def intersection(self, other, sort=False):
426
426
return super ().intersection (other , sort = sort )
427
427
428
428
if not len (self ) or not len (other ):
429
- return RangeIndex ._simple_new (None )
429
+ return self ._simple_new (None )
430
430
431
431
first = self ._range [::- 1 ] if self .step < 0 else self ._range
432
432
second = other ._range [::- 1 ] if other .step < 0 else other ._range
@@ -436,7 +436,7 @@ def intersection(self, other, sort=False):
436
436
int_low = max (first .start , second .start )
437
437
int_high = min (first .stop , second .stop )
438
438
if int_high <= int_low :
439
- return RangeIndex ._simple_new (None )
439
+ return self ._simple_new (None )
440
440
441
441
# Method hint: linear Diophantine equation
442
442
# solve intersection problem
@@ -446,20 +446,18 @@ def intersection(self, other, sort=False):
446
446
447
447
# check whether element sets intersect
448
448
if (first .start - second .start ) % gcd :
449
- return RangeIndex ._simple_new (None )
449
+ return self ._simple_new (None )
450
450
451
451
# calculate parameters for the RangeIndex describing the
452
452
# intersection disregarding the lower bounds
453
453
tmp_start = first .start + (second .start - first .start ) * \
454
454
first .step // gcd * s
455
455
new_step = first .step * second .step // gcd
456
- new_index = RangeIndex ._simple_new (tmp_start , int_high , new_step )
456
+ new_index = self ._simple_new (tmp_start , int_high , new_step )
457
457
458
458
# adjust index to limiting interval
459
459
new_start = new_index ._min_fitting_element (int_low )
460
- new_index = RangeIndex ._simple_new (new_start ,
461
- new_index .stop ,
462
- new_index .step )
460
+ new_index = self ._simple_new (new_start , new_index .stop , new_index .step )
463
461
464
462
if (self .step < 0 and other .step < 0 ) is not (new_index .step < 0 ):
465
463
new_index = new_index [::- 1 ]
@@ -538,21 +536,23 @@ def _union(self, other, sort):
538
536
if ((start_s - start_o ) % step_s == 0 and
539
537
(start_s - end_o ) <= step_s and
540
538
(start_o - end_s ) <= step_s ):
541
- return RangeIndex (start_r , end_r + step_s , step_s )
539
+ return self . __class__ (start_r , end_r + step_s , step_s )
542
540
if ((step_s % 2 == 0 ) and
543
541
(abs (start_s - start_o ) <= step_s / 2 ) and
544
542
(abs (end_s - end_o ) <= step_s / 2 )):
545
- return RangeIndex (start_r , end_r + step_s / 2 , step_s / 2 )
543
+ return self .__class__ (start_r ,
544
+ end_r + step_s / 2 ,
545
+ step_s / 2 )
546
546
elif step_o % step_s == 0 :
547
547
if ((start_o - start_s ) % step_s == 0 and
548
548
(start_o + step_s >= start_s ) and
549
549
(end_o - step_s <= end_s )):
550
- return RangeIndex (start_r , end_r + step_s , step_s )
550
+ return self . __class__ (start_r , end_r + step_s , step_s )
551
551
elif step_s % step_o == 0 :
552
552
if ((start_s - start_o ) % step_o == 0 and
553
553
(start_s + step_o >= start_o ) and
554
554
(end_s - step_o <= end_o )):
555
- return RangeIndex (start_r , end_r + step_o , step_o )
555
+ return self . __class__ (start_r , end_r + step_o , step_o )
556
556
return self ._int64index ._union (other , sort = sort )
557
557
558
558
@Appender (_index_shared_docs ['join' ])
@@ -601,7 +601,7 @@ def __getitem__(self, key):
601
601
size = len (self )))
602
602
if isinstance (key , slice ):
603
603
new_range = self ._range [key ]
604
- return RangeIndex .from_range (new_range , name = self .name )
604
+ return self .from_range (new_range , name = self .name )
605
605
606
606
# fall back to Int64Index
607
607
return super_getitem (key )
@@ -617,12 +617,10 @@ def __floordiv__(self, other):
617
617
start = self .start // other
618
618
step = self .step // other
619
619
stop = start + len (self ) * step
620
- return RangeIndex ._simple_new (
621
- start , stop , step , name = self .name )
620
+ return self ._simple_new ( start , stop , step , name = self .name )
622
621
if len (self ) == 1 :
623
622
start = self .start // other
624
- return RangeIndex ._simple_new (
625
- start , start + 1 , 1 , name = self .name )
623
+ return self ._simple_new (start , start + 1 , 1 , name = self .name )
626
624
return self ._int64index // other
627
625
628
626
@classmethod
@@ -678,7 +676,7 @@ def _evaluate_numeric_binop(self, other):
678
676
rstart = op (left .start , right )
679
677
rstop = op (left .stop , right )
680
678
681
- result = RangeIndex (rstart , rstop , rstep , ** attrs )
679
+ result = cls (rstart , rstop , rstep , ** attrs )
682
680
683
681
# for compat with numpy / Int64Index
684
682
# even if we can represent as a RangeIndex, return
0 commit comments