I’m tring to use infer_freq and asfreq and the return data frame is empty
Original data set:
month interest 0 2004-01 13 1 2004-02 15 2 2004-03 17 3 2004-04 19 4 2004-05 22
Trying to convert the data with different frequency
ice_cream_interest = pd.read_csv('ice_cream_interest.csv') ice_cream_interest.set_index('month', inplace=True) ice_cream_interest = ice_cream_interest.asfreq(pd.infer_freq(ice_cream_interest.index))
interest month 2004-01-01 NaN 2004-02-01 NaN 2004-03-01 NaN 2004-04-01 NaN 2004-05-01 NaN ... ... 2020-04-01 NaN 2020-05-01 NaN 2020-06-01 NaN 2020-07-01 NaN 2020-08-01 NaN
Advertisement
Answer
Given:
month interest 0 2004-01 13 1 2004-02 15 2 2004-03 17 3 2004-04 19 4 2004-05 22
Doing:
# Convert to datetime df.month = pd.to_datetime(df.month) # Set Index df = df.set_index('month') # Convert to freq df = df.asfreq(pd.infer_freq(df.index))
Output:
>>> df interest month 2004-01-01 13 2004-02-01 15 2004-03-01 17 2004-04-01 19 2004-05-01 22 >>> df.index DatetimeIndex(['2004-01-01', '2004-02-01', '2004-03-01', '2004-04-01', '2004-05-01'], dtype='datetime64[ns]', name='month', freq='MS')
We can see it successfully converted to a frequency index.