@@ -24,7 +24,7 @@ def _period_field_accessor(name, alias=None):
24
24
alias = name
25
25
def f (self ):
26
26
base , mult = _gfc (self .freq )
27
- return lib .get_period_field (alias , self .ordinal , base , mult )
27
+ return lib .get_period_field (alias , self .ordinal , base )
28
28
f .__name__ = name
29
29
return property (f )
30
30
@@ -33,7 +33,7 @@ def _field_accessor(name, alias=None):
33
33
alias = name
34
34
def f (self ):
35
35
base , mult = _gfc (self .freq )
36
- return lib .get_period_field_arr (alias , self .values , base , mult )
36
+ return lib .get_period_field_arr (alias , self .values , base )
37
37
f .__name__ = name
38
38
return property (f )
39
39
@@ -108,6 +108,8 @@ def __init__(self, value=None, freq=None, ordinal=None,
108
108
raise ValueError ("If value is None, year cannot be None" )
109
109
110
110
base , mult = _gfc (freq )
111
+ if mult != 1 :
112
+ raise ValueError ('Only mult == 1 supported' )
111
113
112
114
if quarter is not None :
113
115
mnum = _month_numbers [_freq_mod ._get_rule_month (freq )] + 1
@@ -116,7 +118,7 @@ def __init__(self, value=None, freq=None, ordinal=None,
116
118
year -= 1
117
119
118
120
self .ordinal = lib .period_ordinal (year , month , day , hour , minute ,
119
- second , base , mult )
121
+ second , base )
120
122
121
123
elif isinstance (value , Period ):
122
124
other = value
@@ -163,12 +165,15 @@ def __init__(self, value=None, freq=None, ordinal=None,
163
165
raise ValueError (msg )
164
166
165
167
base , mult = _gfc (freq )
168
+ if mult != 1 :
169
+ raise ValueError ('Only mult == 1 supported' )
166
170
167
171
if self .ordinal is None :
168
- self .ordinal = lib .period_ordinal (dt .year , dt .month , dt .day , dt .hour ,
169
- dt .minute , dt .second , base , mult )
172
+ self .ordinal = lib .period_ordinal (dt .year , dt .month , dt .day ,
173
+ dt .hour , dt .minute , dt .second ,
174
+ base )
170
175
171
- self .freq = _freq_mod ._get_freq_str (base , mult )
176
+ self .freq = _freq_mod ._get_freq_str (base )
172
177
173
178
def __eq__ (self , other ):
174
179
if isinstance (other , Period ):
@@ -210,14 +215,16 @@ def asfreq(self, freq=None, how='E'):
210
215
base1 , mult1 = _gfc (self .freq )
211
216
base2 , mult2 = _gfc (freq )
212
217
218
+ if mult2 != 1 :
219
+ raise ValueError ('Only mult == 1 supported' )
220
+
213
221
if how not in ('S' , 'E' ):
214
222
raise ValueError ('relation argument must be one of S or E' )
215
223
216
224
end = how == 'E'
217
- new_ordinal = lib .period_asfreq (self .ordinal , base1 , mult1 ,
218
- base2 , mult2 , end )
225
+ new_ordinal = lib .period_asfreq (self .ordinal , base1 , base2 , end )
219
226
220
- return Period (ordinal = new_ordinal , freq = ( base2 , mult2 ) )
227
+ return Period (ordinal = new_ordinal , freq = base2 )
221
228
222
229
@property
223
230
def start_time (self ):
@@ -250,7 +257,11 @@ def to_timestamp(self, freq=None, how='S'):
250
257
else :
251
258
base , mult = _gfc (freq )
252
259
new_val = self .asfreq (freq , how )
253
- dt64 = lib .period_ordinal_to_dt64 (new_val .ordinal , base , mult )
260
+
261
+ if mult != 1 :
262
+ raise ValueError ('Only mult == 1 supported' )
263
+
264
+ dt64 = lib .period_ordinal_to_dt64 (new_val .ordinal , base )
254
265
ts_freq = _period_rule_to_timestamp_rule (new_val .freq , how = how )
255
266
return Timestamp (dt64 , offset = to_offset (ts_freq ))
256
267
@@ -274,15 +285,13 @@ def now(cls, freq=None):
274
285
275
286
def __repr__ (self ):
276
287
base , mult = _gfc (self .freq )
277
- formatted = lib .period_ordinal_to_string (self .ordinal , base , mult )
288
+ formatted = lib .period_ordinal_to_string (self .ordinal , base )
278
289
freqstr = _freq_mod ._reverse_period_code_map [base ]
279
- if mult == 1 :
280
- return "Period('%s', '%s')" % (formatted , freqstr )
281
- return ("Period('%s', '%d%s')" % (formatted , mult , freqstr ))
290
+ return "Period('%s', '%s')" % (formatted , freqstr )
282
291
283
292
def __str__ (self ):
284
293
base , mult = _gfc (self .freq )
285
- formatted = lib .period_ordinal_to_string (self .ordinal , base , mult )
294
+ formatted = lib .period_ordinal_to_string (self .ordinal , base )
286
295
return ("%s" % formatted )
287
296
288
297
def strftime (self , fmt ):
@@ -424,9 +433,9 @@ def strftime(self, fmt):
424
433
"""
425
434
base , mult = _gfc (self .freq )
426
435
if fmt is not None :
427
- return lib .period_strftime (self .ordinal , base , mult , fmt )
436
+ return lib .period_strftime (self .ordinal , base , fmt )
428
437
else :
429
- return lib .period_ordinal_to_string (self .ordinal , base , mult )
438
+ return lib .period_ordinal_to_string (self .ordinal , base )
430
439
431
440
def _period_unbox (key , check = None ):
432
441
'''
@@ -465,7 +474,7 @@ def dt64arr_to_periodarr(data, freq):
465
474
else :
466
475
base , mult = freq
467
476
468
- return lib .dt64arr_to_periodarr (data .view ('i8' ), base , mult )
477
+ return lib .dt64arr_to_periodarr (data .view ('i8' ), base )
469
478
470
479
# --- Period index sketch
471
480
@@ -589,8 +598,7 @@ def __new__(cls, data=None,
589
598
else :
590
599
base1 , mult1 = _gfc (data .freq )
591
600
base2 , mult2 = _gfc (freq )
592
- data = lib .period_asfreq_arr (data .values , base1 , mult1 ,
593
- base2 , mult2 , 1 )
601
+ data = lib .period_asfreq_arr (data .values , base1 , base2 , 1 )
594
602
else :
595
603
if freq is None and len (data ) > 0 :
596
604
freq = getattr (data [0 ], 'freq' )
@@ -664,12 +672,14 @@ def asfreq(self, freq=None, how='E'):
664
672
else :
665
673
base2 , mult2 = freq
666
674
675
+ if mult2 != 1 :
676
+ raise ValueError ('Only mult == 1 supported' )
677
+
667
678
if how not in ('S' , 'E' ):
668
679
raise ValueError ('relation argument must be one of S or E' )
669
680
670
681
end = how == 'E'
671
- new_data = lib .period_asfreq_arr (self .values , base1 , mult1 ,
672
- base2 , mult2 , end )
682
+ new_data = lib .period_asfreq_arr (self .values , base1 , base2 , end )
673
683
674
684
result = new_data .view (PeriodIndex )
675
685
result .name = self .name
@@ -719,12 +729,14 @@ def to_timestamp(self, freq=None, how='start'):
719
729
if freq is None :
720
730
base , mult = _gfc (self .freq )
721
731
new_data = self
722
- # freq = self.freq
723
732
else :
724
733
base , mult = _gfc (freq )
725
734
new_data = self .asfreq (freq , how )
726
- # freq = 'infer'
727
- new_data = lib .periodarr_to_dt64arr (new_data .values , base , mult )
735
+
736
+ if mult != 1 :
737
+ raise ValueError ('Only mult == 1 supported' )
738
+
739
+ new_data = lib .periodarr_to_dt64arr (new_data .values , base )
728
740
return DatetimeIndex (new_data , freq = 'infer' )
729
741
730
742
def shift (self , n ):
0 commit comments