MCPcopy
hub / github.com/pydata/xarray / to_offset

Function to_offset

xarray/coding/cftime_offsets.py:774–797  ·  view source on GitHub ↗

Convert a frequency string to the appropriate subclass of BaseCFTimeOffset.

(
    freq: BaseCFTimeOffset | str | timedelta | pd.Timedelta | pd.DateOffset,
    warn: bool = True,
)

Source from the content-addressed store, hash-verified

772
773
774def to_offset(
775 freq: BaseCFTimeOffset | str | timedelta | pd.Timedelta | pd.DateOffset,
776 warn: bool = True,
777) -> BaseCFTimeOffset:
778 """Convert a frequency string to the appropriate subclass of
779 BaseCFTimeOffset."""
780 if isinstance(freq, BaseCFTimeOffset):
781 return freq
782 if isinstance(freq, timedelta | pd.Timedelta):
783 return delta_to_tick(freq)
784 if isinstance(freq, pd.DateOffset):
785 freq = _legacy_to_new_freq(freq.freqstr)
786
787 match = re.match(_PATTERN, freq)
788 if match is None:
789 raise ValueError("Invalid frequency string provided")
790 freq_data = match.groupdict()
791
792 freq = freq_data["freq"]
793 if warn and freq in _DEPRECATED_FREQUENCIES:
794 _emit_freq_deprecation_warning(freq)
795 multiples = freq_data["multiple"]
796 multiples = 1 if multiples is None else int(multiples)
797 return _FREQUENCIES[freq](n=multiples)
798
799
800def delta_to_tick(delta: timedelta | pd.Timedelta) -> Tick:

Callers 15

shiftMethod · 0.90
_round_via_methodMethod · 0.90
__init__Method · 0.90
test_to_offset_annualFunction · 0.90
test_to_offset_quarterFunction · 0.90
has_tick_resample_freqFunction · 0.90

Calls 4

delta_to_tickFunction · 0.85
_legacy_to_new_freqFunction · 0.85
matchMethod · 0.45

Used in the wild real call sites across dependent graphs

searching dependent graphs…