def get_freq(self):
if not self.is_monotonic or not self.index._is_unique:<EOL><INDENT>return None<EOL><DEDENT>delta = self.deltas[<NUM_LIT:0>]<EOL>if _is_multiple(delta, _ONE_DAY):<EOL><INDENT>return self._infer_daily_rule()<EOL><DEDENT>if self.hour_deltas in ([<NUM_LIT:1>, <NUM_LIT>], [<NUM_LIT:1>, <NUM_LIT>], [<NUM_LIT:1>, <NUM_LIT>, <NUM_LIT>]):<EOL><INDENT>return '<STR_LIT>'<EOL><DEDENT>elif not self.is_unique_asi8:<EOL><INDENT>return None<EOL><DEDENT>delta = self.deltas_asi8[<NUM_LIT:0>]<EOL>if _is_multiple(delta, _ONE_HOUR):<EOL><INDENT>return _maybe_add_count('<STR_LIT:H>', delta / _ONE_HOUR)<EOL><DEDENT>elif _is_multiple(delta, _ONE_MINUTE):<EOL><INDENT>return _maybe_add_count('<STR_LIT:T>', delta / _ONE_MINUTE)<EOL><DEDENT>elif _is_multiple(delta, _ONE_SECOND):<EOL><INDENT>return _maybe_add_count('<STR_LIT:S>', delta / _ONE_SECOND)<EOL><DEDENT>elif _is_multiple(delta, _ONE_MILLI):<EOL><INDENT>return _maybe_add_count('<STR_LIT:L>', delta / _ONE_MILLI)<EOL><DEDENT>elif _is_multiple(delta, _ONE_MICRO):<EOL><INDENT>return _maybe_add_count('<STR_LIT>', delta / _ONE_MICRO)<EOL><DEDENT>else:<EOL><INDENT>return _maybe_add_count('<STR_LIT:N>', delta)<EOL><DEDENT>
Find the appropriate frequency string to describe the inferred
frequency of self.values

Returns
-------
str or None