I have hourly data, when I infer it, it returns Daily data. I am surprized. My actual goal is converting this hourly data to daily mean.
df = pd.read_csv('/kaggle/input/hourly-energy-consumption/DOM_hourly.csv')
print(df.head())
print(df.shape)
df.set_index('Datetime', inplace=True, drop=True)
df.index = pd.to_datetime(df.index, format='%Y-%m-%d %H:%M:%S')
# drop duplicated index
df = df[~df.index.duplicated(keep='first')]
# Infer frequency of the data
# print("Data frequency is : %s" % pd.infer_freq(df.index))
df = df.asfreq(pd.infer_freq(df.index))
print(df.head(5))
print(df.shape)
Present output:
Datetime DOM_MW
0 2005-12-31 01:00:00 9389.0
1 2005-12-31 02:00:00 9070.0
2 2005-12-31 03:00:00 9001.0
3 2005-12-31 04:00:00 9042.0
4 2005-12-31 05:00:00 9132.0
(116189, 2)
DOM_MW
Datetime
2005-05-01 01:00:00 7190.0
2005-05-02 01:00:00 6897.0
2005-05-03 01:00:00 7288.0
2005-05-04 01:00:00 7052.0
2005-05-05 01:00:00 7250.0
(4628, 1)