@@ -497,7 +497,7 @@ cdef class TimedeltaEngine(DatetimeEngine):
497
497
cdef class PeriodEngine(Int64Engine):
498
498
499
499
cdef _get_index_values(self ):
500
- return self .vgetter()
500
+ return super (PeriodEngine, self ) .vgetter()
501
501
502
502
cpdef _call_map_locations(self , values):
503
503
super (PeriodEngine, self )._call_map_locations(values.view(' i8' ))
@@ -540,24 +540,30 @@ cdef class PeriodEngine(Int64Engine):
540
540
def get_indexer (self , values ):
541
541
cdef ndarray[int64_t, ndim= 1 ] ordinals
542
542
543
- self ._ensure_mapping_populated()
544
- ordinals = periodlib.extract_ordinals(values, self .vgetter().freq)
543
+ super (PeriodEngine, self )._ensure_mapping_populated()
544
+
545
+ freq = super (PeriodEngine, self ).vgetter().freq
546
+ ordinals = periodlib.extract_ordinals(values, freq)
547
+
545
548
return self .mapping.lookup(ordinals)
546
549
547
550
def get_pad_indexer (self , other , limit = None ):
548
- ordinal = periodlib.extract_ordinals(other, self .vgetter().freq)
551
+ freq = super (PeriodEngine, self ).vgetter().freq
552
+ ordinal = periodlib.extract_ordinals(other, freq)
549
553
550
554
return algos.pad_int64(self ._get_index_values(),
551
555
np.asarray(ordinal), limit = limit)
552
556
553
557
def get_backfill_indexer (self , other , limit = None ):
554
- ordinal = periodlib.extract_ordinals(other, self .vgetter().freq)
558
+ freq = super (PeriodEngine, self ).vgetter().freq
559
+ ordinal = periodlib.extract_ordinals(other, freq)
555
560
556
561
return algos.backfill_int64(self ._get_index_values(),
557
562
np.asarray(ordinal), limit = limit)
558
563
559
564
def get_indexer_non_unique (self , targets ):
560
- ordinal = periodlib.extract_ordinals(targets, self .vgetter().freq)
565
+ freq = super (PeriodEngine, self ).vgetter().freq
566
+ ordinal = periodlib.extract_ordinals(targets, freq)
561
567
ordinal_array = np.asarray(ordinal)
562
568
563
569
return super (PeriodEngine, self ).get_indexer_non_unique(ordinal_array)
0 commit comments