MCPcopy Index your code
hub / github.com/pydata/xarray / get_freq

Method get_freq

xarray/coding/frequencies.py:123–152  ·  view source on GitHub ↗

Find the appropriate frequency string to describe the inferred frequency of self.index Adapted from `pandas.tsseries.frequencies._FrequencyInferer.get_freq` for CFTimeIndexes. Returns ------- str or None

(self)

Source from the content-addressed store, hash-verified

121 self._month_deltas = None
122
123 def get_freq(self):
124 """Find the appropriate frequency string to describe the inferred frequency of self.index
125
126 Adapted from `pandas.tsseries.frequencies._FrequencyInferer.get_freq` for CFTimeIndexes.
127
128 Returns
129 -------
130 str or None
131 """
132 if not self.is_monotonic or not self.index.is_unique:
133 return None
134
135 delta = self.deltas[0] # Smallest delta
136 if _is_multiple(delta, _ONE_DAY):
137 return self._infer_daily_rule()
138 # There is no possible intraday frequency with a non-unique delta
139 # Different from pandas: we don't need to manage DST and business offsets in cftime
140 elif len(self.deltas) != 1:
141 return None
142
143 if _is_multiple(delta, _ONE_HOUR):
144 return _maybe_add_count("h", delta / _ONE_HOUR)
145 elif _is_multiple(delta, _ONE_MINUTE):
146 return _maybe_add_count("min", delta / _ONE_MINUTE)
147 elif _is_multiple(delta, _ONE_SECOND):
148 return _maybe_add_count("s", delta / _ONE_SECOND)
149 elif _is_multiple(delta, _ONE_MILLI):
150 return _maybe_add_count("ms", delta / _ONE_MILLI)
151 else:
152 return _maybe_add_count("us", delta / _ONE_MICRO)
153
154 def _infer_daily_rule(self):
155 annual_rule = self._get_annual_rule()

Callers 1

infer_freqFunction · 0.80

Calls 3

_infer_daily_ruleMethod · 0.95
_is_multipleFunction · 0.85
_maybe_add_countFunction · 0.85

Tested by

no test coverage detected