首页 > 解决方案 > 将月度数据转换为季度格式

问题描述

我当前的数据采用以下每月格式:

DATE         HPI_F_ARIMA 
1987-01-01     63.967000
1987-02-01     64.42600
1987-03-01     64.736000             ...
...             ...
...             ...
2021-12-01      236.078323

--------到目前为止的代码----------

import pandas as pd
import matplotlib.pyplot as plt


if __name__ == '__main__':
    usdata = pd.read_csv('arima_forecast.csv')
    usdata['DATE'] = pd.to_datetime(usdata['DATE'])
    usdata.set_index('DATE', inplace = True)

print('monthly format')
print(usdata)

问题 1:如何将其转换为季度格式,其中每个季度的相关月份的月度值是平均的,并且 DATE 列是否具有每个季度的最后一个日期值?最终目标是获取以下格式的数据,将其保存到数据框,然后将数据框保存到 CSV 文件。

DATE         HPI_F_ARIMA 
1987-03-31     64.37
1987-06-30     ...
1987-09-30     ...
...             ...
...             ...
2021-12-31      ...

另外,如何附加我正在使用的 CSV 文件?

标签: pythonpandastime-series

解决方案


这正是.resample()所做的,Q每季度一次:

>>> usdata.resample('Q').mean()
            HPI_F_ARIMA
DATE                   
1987-03-31    64.376333
1987-06-30          NaN
1987-09-30          NaN
1987-12-31          NaN
1988-03-31          NaN
...                 ...
2020-12-31          NaN
2021-03-31          NaN
2021-06-30          NaN
2021-09-30          NaN
2021-12-31   236.078323

[140 rows x 1 columns]

推荐阅读