Skip to content

Commit 0d05226

Browse files
committed
Merge pull request #7854 from sinhrks/tslib_cln
CLN: Clean tslib, frequencies import
2 parents 90fa87e + 84404af commit 0d05226

File tree

9 files changed

+115
-133
lines changed

9 files changed

+115
-133
lines changed

pandas/tools/plotting.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from pandas.core.series import Series, remove_na
1717
from pandas.tseries.index import DatetimeIndex
1818
from pandas.tseries.period import PeriodIndex, Period
19-
from pandas.tseries.frequencies import get_period_alias, get_base_alias
19+
import pandas.tseries.frequencies as frequencies
2020
from pandas.tseries.offsets import DateOffset
2121
from pandas.compat import range, lrange, lmap, map, zip, string_types
2222
import pandas.compat as compat
@@ -1504,19 +1504,18 @@ def _is_dynamic_freq(self, freq):
15041504
if isinstance(freq, DateOffset):
15051505
freq = freq.rule_code
15061506
else:
1507-
freq = get_base_alias(freq)
1508-
freq = get_period_alias(freq)
1507+
freq = frequencies.get_base_alias(freq)
1508+
freq = frequencies.get_period_alias(freq)
15091509
return freq is not None and self._no_base(freq)
15101510

15111511
def _no_base(self, freq):
15121512
# hack this for 0.10.1, creating more technical debt...sigh
15131513
from pandas.core.frame import DataFrame
15141514
if (isinstance(self.data, (Series, DataFrame))
15151515
and isinstance(self.data.index, DatetimeIndex)):
1516-
import pandas.tseries.frequencies as freqmod
1517-
base = freqmod.get_freq(freq)
1516+
base = frequencies.get_freq(freq)
15181517
x = self.data.index
1519-
if (base <= freqmod.FreqGroup.FR_DAY):
1518+
if (base <= frequencies.FreqGroup.FR_DAY):
15201519
return x[:1].is_normalized
15211520

15221521
return Period(x[0], freq).to_timestamp(tz=x.tz) == x[0]
@@ -1632,8 +1631,8 @@ def _maybe_convert_index(self, data):
16321631
freq = getattr(data.index, 'inferred_freq', None)
16331632
if isinstance(freq, DateOffset):
16341633
freq = freq.rule_code
1635-
freq = get_base_alias(freq)
1636-
freq = get_period_alias(freq)
1634+
freq = frequencies.get_base_alias(freq)
1635+
freq = frequencies.get_period_alias(freq)
16371636

16381637
if freq is None:
16391638
ax = self._get_ax(0)

pandas/tseries/index.py

+11-7
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from pandas.compat import u
1515
from pandas.tseries.frequencies import (
1616
infer_freq, to_offset, get_period_alias,
17-
Resolution, get_reso_string, _tz_convert_with_transitions)
17+
Resolution, _tz_convert_with_transitions)
1818
from pandas.core.base import DatetimeIndexOpsMixin
1919
from pandas.tseries.offsets import DateOffset, generate_range, Tick, CDay
2020
from pandas.tseries.tools import parse_time_string, normalize_date
@@ -291,7 +291,7 @@ def __new__(cls, data=None,
291291
tz = subarr.tz
292292
else:
293293
if tz is not None:
294-
tz = tools._maybe_get_tz(tz)
294+
tz = tslib.maybe_get_tz(tz)
295295

296296
if (not isinstance(data, DatetimeIndex) or
297297
getattr(data, 'tz', None) is None):
@@ -361,10 +361,14 @@ def _generate(cls, start, end, periods, name, offset,
361361
raise ValueError('Start and end cannot both be tz-aware with '
362362
'different timezones')
363363

364-
inferred_tz = tools._maybe_get_tz(inferred_tz)
364+
inferred_tz = tslib.maybe_get_tz(inferred_tz)
365365

366366
# these may need to be localized
367-
tz = tools._maybe_get_tz(tz, start or end)
367+
tz = tslib.maybe_get_tz(tz)
368+
if tz is not None:
369+
date = start or end
370+
if date.tzinfo is not None and hasattr(tz, 'localize'):
371+
tz = tz.localize(date.replace(tzinfo=None)).tzinfo
368372

369373
if tz is not None and inferred_tz is not None:
370374
if not inferred_tz == tz:
@@ -477,7 +481,7 @@ def _simple_new(cls, values, name, freq=None, tz=None):
477481
result = values.view(cls)
478482
result.name = name
479483
result.offset = freq
480-
result.tz = tools._maybe_get_tz(tz)
484+
result.tz = tslib.maybe_get_tz(tz)
481485

482486
return result
483487

@@ -1620,7 +1624,7 @@ def tz_convert(self, tz):
16201624
-------
16211625
normalized : DatetimeIndex
16221626
"""
1623-
tz = tools._maybe_get_tz(tz)
1627+
tz = tslib.maybe_get_tz(tz)
16241628

16251629
if self.tz is None:
16261630
# tz naive, use tz_localize
@@ -1648,7 +1652,7 @@ def tz_localize(self, tz, infer_dst=False):
16481652
"""
16491653
if self.tz is not None:
16501654
raise TypeError("Already tz-aware, use tz_convert to convert.")
1651-
tz = tools._maybe_get_tz(tz)
1655+
tz = tslib.maybe_get_tz(tz)
16521656

16531657
# Convert to UTC
16541658
new_dates = tslib.tz_localize_to_utc(self.asi8, tz, infer_dst=infer_dst)

pandas/tseries/period.py

+16-17
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import numpy as np
66
from pandas.core.base import PandasObject
77

8-
from pandas.tseries.frequencies import (get_freq_code as _gfc,
9-
_month_numbers, FreqGroup)
8+
import pandas.tseries.frequencies as frequencies
9+
from pandas.tseries.frequencies import get_freq_code as _gfc
1010
from pandas.tseries.index import DatetimeIndex, Int64Index, Index
1111
from pandas.core.base import DatetimeIndexOpsMixin
1212
from pandas.tseries.tools import parse_time_string
13-
import pandas.tseries.frequencies as _freq_mod
1413

1514
import pandas.core.common as com
1615
from pandas.core.common import (isnull, _INT64_DTYPE, _maybe_box,
@@ -116,7 +115,7 @@ def __init__(self, value=None, freq=None, ordinal=None,
116115
dt, _, reso = parse_time_string(value, freq)
117116
if freq is None:
118117
try:
119-
freq = _freq_mod.Resolution.get_freq(reso)
118+
freq = frequencies.Resolution.get_freq(reso)
120119
except KeyError:
121120
raise ValueError("Invalid frequency or could not infer: %s" % reso)
122121

@@ -142,7 +141,7 @@ def __init__(self, value=None, freq=None, ordinal=None,
142141
dt.hour, dt.minute, dt.second, dt.microsecond, 0,
143142
base)
144143

145-
self.freq = _freq_mod._get_freq_str(base)
144+
self.freq = frequencies._get_freq_str(base)
146145

147146
def __eq__(self, other):
148147
if isinstance(other, Period):
@@ -267,7 +266,7 @@ def to_timestamp(self, freq=None, how='start', tz=None):
267266

268267
if freq is None:
269268
base, mult = _gfc(self.freq)
270-
freq = _freq_mod.get_to_timestamp_base(base)
269+
freq = frequencies.get_to_timestamp_base(base)
271270

272271
base, mult = _gfc(freq)
273272
val = self.asfreq(freq, how)
@@ -296,7 +295,7 @@ def now(cls, freq=None):
296295
def __repr__(self):
297296
base, mult = _gfc(self.freq)
298297
formatted = tslib.period_format(self.ordinal, base)
299-
freqstr = _freq_mod._reverse_period_code_map[base]
298+
freqstr = frequencies._reverse_period_code_map[base]
300299

301300
if not compat.PY3:
302301
encoding = com.get_option("display.encoding")
@@ -577,7 +576,7 @@ def __new__(cls, data=None, ordinal=None, freq=None, start=None, end=None,
577576
quarter=None, day=None, hour=None, minute=None, second=None,
578577
tz=None):
579578

580-
freq = _freq_mod.get_standard_freq(freq)
579+
freq = frequencies.get_standard_freq(freq)
581580

582581
if periods is not None:
583582
if com.is_float(periods):
@@ -767,7 +766,7 @@ def freqstr(self):
767766
def asfreq(self, freq=None, how='E'):
768767
how = _validate_end_alias(how)
769768

770-
freq = _freq_mod.get_standard_freq(freq)
769+
freq = frequencies.get_standard_freq(freq)
771770

772771
base1, mult1 = _gfc(self.freq)
773772
base2, mult2 = _gfc(freq)
@@ -845,7 +844,7 @@ def to_timestamp(self, freq=None, how='start'):
845844

846845
if freq is None:
847846
base, mult = _gfc(self.freq)
848-
freq = _freq_mod.get_to_timestamp_base(base)
847+
freq = frequencies.get_to_timestamp_base(base)
849848

850849
base, mult = _gfc(freq)
851850
new_data = self.asfreq(freq, how)
@@ -889,8 +888,8 @@ def get_value(self, series, key):
889888
except (KeyError, IndexError):
890889
try:
891890
asdt, parsed, reso = parse_time_string(key, self.freq)
892-
grp = _freq_mod._infer_period_group(reso)
893-
freqn = _freq_mod._period_group(self.freq)
891+
grp = frequencies._infer_period_group(reso)
892+
freqn = frequencies._period_group(self.freq)
894893

895894
vals = self.values
896895

@@ -978,8 +977,8 @@ def _get_string_slice(self, key):
978977

979978
key, parsed, reso = parse_time_string(key, self.freq)
980979

981-
grp = _freq_mod._infer_period_group(reso)
982-
freqn = _freq_mod._period_group(self.freq)
980+
grp = frequencies._infer_period_group(reso)
981+
freqn = frequencies._period_group(self.freq)
983982

984983
if reso == 'year':
985984
t1 = Period(year=parsed.year, freq='A')
@@ -1216,12 +1215,12 @@ def _range_from_fields(year=None, month=None, quarter=None, day=None,
12161215
if quarter is not None:
12171216
if freq is None:
12181217
freq = 'Q'
1219-
base = FreqGroup.FR_QTR
1218+
base = frequencies.FreqGroup.FR_QTR
12201219
else:
12211220
base, mult = _gfc(freq)
12221221
if mult != 1:
12231222
raise ValueError('Only mult == 1 supported')
1224-
if base != FreqGroup.FR_QTR:
1223+
if base != frequencies.FreqGroup.FR_QTR:
12251224
raise AssertionError("base must equal FR_QTR")
12261225

12271226
year, quarter = _make_field_arrays(year, quarter)
@@ -1273,7 +1272,7 @@ def _quarter_to_myear(year, quarter, freq):
12731272
if quarter <= 0 or quarter > 4:
12741273
raise ValueError('Quarter must be 1 <= q <= 4')
12751274

1276-
mnum = _month_numbers[_freq_mod._get_rule_month(freq)] + 1
1275+
mnum = frequencies._month_numbers[frequencies._get_rule_month(freq)] + 1
12771276
month = (mnum + (quarter - 1) * 3) % 12 + 1
12781277
if month > mnum:
12791278
year -= 1

0 commit comments

Comments
 (0)