BUG: DTI.freqstr raises AttributeError when freq is None by sinhrks · Pull Request #7606 · pandas-dev/pandas (original) (raw)

DatetimeIndex.freqstr raises AttributeError if freq/offset is None, even though docstring says "return the frequency object as a string if its set, otherwise None"

idx = pd.DatetimeIndex(['2011-01-01', '2011-01-02', '2011-01-03', '2011-01-04'])
idx.freqstr
# AttributeError: 'NoneType' object has no attribute 'freqstr'

Also, DataFrame/Series.to_period has a logic to use inferred_freq when the freq is not passed, but it doesn't work actually because of the bug. Moved the logic to DatetimeIndex.to_period for consistency and made it works.

The fix will simplify #7602 a little.