因此,我想从每日数据中计算一年内某些值的平均值。
我通常会在Excel中使用Edate功能来做到这一点,因此,例如,如果今天是2019年6月21日,我可以轻松地将间隔设置为间隔。但是,我在Python中找不到此功能的等效。
假设我有此数据:
Date Price
03-Jan-11 112
04-Jan-11 115
05-Jan-11 116
06-Jan-11 111
etc
,我要做的是计算 3-Jan-11 的平均值,使用Edate Excel函数,它应计算出 1-APR日期的平均值-11 (3个月(, 1--Jul-11 (6个月(, 3-OCT-11 (9个月(和 3--1月12日(12个月(。并且,该规则也适用于下一个日期,即1月4日。有什么办法可以对Python进行这种计算?谢谢。
您可以举个例子,您要寻找的输出以及可能还有更多数据点。
同时,尽管我不太了解您的期望。我猜你正在寻找这样的东西。
d = {'Date': ['03-Jan-11', '04-Jan-11', '05-Jan-11', '06-Jan-11', '12-Mar-11', '05-Apr-11', '08-Jul-11', '05-Jan-12'],
'Price': [112, 115, 116, 111, 120, 118, 125, 114]}
df = pd.DataFrame(data=d)
df['Date'] = pd.to_datetime(df['Date'], errors='coerce')
df['quarter'] = pd.PeriodIndex(df.Date, freq='Q')
df.groupby(['quarter']).mean()
out put
quarter Price
2011Q1 114.8
2011Q2 118.0
2011Q3 125.0
2012Q1 114.0
让我知道这是否有帮助。