Skip to content

CLN: Clean tslib, frequencies import #7854

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 28, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions pandas/tools/plotting.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from pandas.core.series import Series, remove_na
from pandas.tseries.index import DatetimeIndex
from pandas.tseries.period import PeriodIndex, Period
from pandas.tseries.frequencies import get_period_alias, get_base_alias
import pandas.tseries.frequencies as frequencies
from pandas.tseries.offsets import DateOffset
from pandas.compat import range, lrange, lmap, map, zip, string_types
import pandas.compat as compat
Expand Down Expand Up @@ -1504,19 +1504,18 @@ def _is_dynamic_freq(self, freq):
if isinstance(freq, DateOffset):
freq = freq.rule_code
else:
freq = get_base_alias(freq)
freq = get_period_alias(freq)
freq = frequencies.get_base_alias(freq)
freq = frequencies.get_period_alias(freq)
return freq is not None and self._no_base(freq)

def _no_base(self, freq):
# hack this for 0.10.1, creating more technical debt...sigh
from pandas.core.frame import DataFrame
if (isinstance(self.data, (Series, DataFrame))
and isinstance(self.data.index, DatetimeIndex)):
import pandas.tseries.frequencies as freqmod
base = freqmod.get_freq(freq)
base = frequencies.get_freq(freq)
x = self.data.index
if (base <= freqmod.FreqGroup.FR_DAY):
if (base <= frequencies.FreqGroup.FR_DAY):
return x[:1].is_normalized

return Period(x[0], freq).to_timestamp(tz=x.tz) == x[0]
Expand Down Expand Up @@ -1632,8 +1631,8 @@ def _maybe_convert_index(self, data):
freq = getattr(data.index, 'inferred_freq', None)
if isinstance(freq, DateOffset):
freq = freq.rule_code
freq = get_base_alias(freq)
freq = get_period_alias(freq)
freq = frequencies.get_base_alias(freq)
freq = frequencies.get_period_alias(freq)

if freq is None:
ax = self._get_ax(0)
Expand Down
18 changes: 11 additions & 7 deletions pandas/tseries/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from pandas.compat import u
from pandas.tseries.frequencies import (
infer_freq, to_offset, get_period_alias,
Resolution, get_reso_string, _tz_convert_with_transitions)
Resolution, _tz_convert_with_transitions)
from pandas.core.base import DatetimeIndexOpsMixin
from pandas.tseries.offsets import DateOffset, generate_range, Tick, CDay
from pandas.tseries.tools import parse_time_string, normalize_date
Expand Down Expand Up @@ -291,7 +291,7 @@ def __new__(cls, data=None,
tz = subarr.tz
else:
if tz is not None:
tz = tools._maybe_get_tz(tz)
tz = tslib.maybe_get_tz(tz)

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

inferred_tz = tools._maybe_get_tz(inferred_tz)
inferred_tz = tslib.maybe_get_tz(inferred_tz)

# these may need to be localized
tz = tools._maybe_get_tz(tz, start or end)
tz = tslib.maybe_get_tz(tz)
if tz is not None:
date = start or end
if date.tzinfo is not None and hasattr(tz, 'localize'):
tz = tz.localize(date.replace(tzinfo=None)).tzinfo

if tz is not None and inferred_tz is not None:
if not inferred_tz == tz:
Expand Down Expand Up @@ -477,7 +481,7 @@ def _simple_new(cls, values, name, freq=None, tz=None):
result = values.view(cls)
result.name = name
result.offset = freq
result.tz = tools._maybe_get_tz(tz)
result.tz = tslib.maybe_get_tz(tz)

return result

Expand Down Expand Up @@ -1620,7 +1624,7 @@ def tz_convert(self, tz):
-------
normalized : DatetimeIndex
"""
tz = tools._maybe_get_tz(tz)
tz = tslib.maybe_get_tz(tz)

if self.tz is None:
# tz naive, use tz_localize
Expand Down Expand Up @@ -1648,7 +1652,7 @@ def tz_localize(self, tz, infer_dst=False):
"""
if self.tz is not None:
raise TypeError("Already tz-aware, use tz_convert to convert.")
tz = tools._maybe_get_tz(tz)
tz = tslib.maybe_get_tz(tz)

# Convert to UTC
new_dates = tslib.tz_localize_to_utc(self.asi8, tz, infer_dst=infer_dst)
Expand Down
33 changes: 16 additions & 17 deletions pandas/tseries/period.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,11 @@
import numpy as np
from pandas.core.base import PandasObject

from pandas.tseries.frequencies import (get_freq_code as _gfc,
_month_numbers, FreqGroup)
import pandas.tseries.frequencies as frequencies
from pandas.tseries.frequencies import get_freq_code as _gfc
from pandas.tseries.index import DatetimeIndex, Int64Index, Index
from pandas.core.base import DatetimeIndexOpsMixin
from pandas.tseries.tools import parse_time_string
import pandas.tseries.frequencies as _freq_mod

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

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

self.freq = _freq_mod._get_freq_str(base)
self.freq = frequencies._get_freq_str(base)

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

if freq is None:
base, mult = _gfc(self.freq)
freq = _freq_mod.get_to_timestamp_base(base)
freq = frequencies.get_to_timestamp_base(base)

base, mult = _gfc(freq)
val = self.asfreq(freq, how)
Expand Down Expand Up @@ -296,7 +295,7 @@ def now(cls, freq=None):
def __repr__(self):
base, mult = _gfc(self.freq)
formatted = tslib.period_format(self.ordinal, base)
freqstr = _freq_mod._reverse_period_code_map[base]
freqstr = frequencies._reverse_period_code_map[base]

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

freq = _freq_mod.get_standard_freq(freq)
freq = frequencies.get_standard_freq(freq)

if periods is not None:
if com.is_float(periods):
Expand Down Expand Up @@ -767,7 +766,7 @@ def freqstr(self):
def asfreq(self, freq=None, how='E'):
how = _validate_end_alias(how)

freq = _freq_mod.get_standard_freq(freq)
freq = frequencies.get_standard_freq(freq)

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

if freq is None:
base, mult = _gfc(self.freq)
freq = _freq_mod.get_to_timestamp_base(base)
freq = frequencies.get_to_timestamp_base(base)

base, mult = _gfc(freq)
new_data = self.asfreq(freq, how)
Expand Down Expand Up @@ -889,8 +888,8 @@ def get_value(self, series, key):
except (KeyError, IndexError):
try:
asdt, parsed, reso = parse_time_string(key, self.freq)
grp = _freq_mod._infer_period_group(reso)
freqn = _freq_mod._period_group(self.freq)
grp = frequencies._infer_period_group(reso)
freqn = frequencies._period_group(self.freq)

vals = self.values

Expand Down Expand Up @@ -978,8 +977,8 @@ def _get_string_slice(self, key):

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

grp = _freq_mod._infer_period_group(reso)
freqn = _freq_mod._period_group(self.freq)
grp = frequencies._infer_period_group(reso)
freqn = frequencies._period_group(self.freq)

if reso == 'year':
t1 = Period(year=parsed.year, freq='A')
Expand Down Expand Up @@ -1216,12 +1215,12 @@ def _range_from_fields(year=None, month=None, quarter=None, day=None,
if quarter is not None:
if freq is None:
freq = 'Q'
base = FreqGroup.FR_QTR
base = frequencies.FreqGroup.FR_QTR
else:
base, mult = _gfc(freq)
if mult != 1:
raise ValueError('Only mult == 1 supported')
if base != FreqGroup.FR_QTR:
if base != frequencies.FreqGroup.FR_QTR:
raise AssertionError("base must equal FR_QTR")

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

mnum = _month_numbers[_freq_mod._get_rule_month(freq)] + 1
mnum = frequencies._month_numbers[frequencies._get_rule_month(freq)] + 1
month = (mnum + (quarter - 1) * 3) % 12 + 1
if month > mnum:
year -= 1
Expand Down
Loading