Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据周数据计算月SMA?_Python_Pandas_Numpy Ndarray - Fatal编程技术网

Python 如何根据周数据计算月SMA?

Python 如何根据周数据计算月SMA?,python,pandas,numpy-ndarray,Python,Pandas,Numpy Ndarray,我有一个数据框,包含100个键(第1列)和6个月数据(从1月到6月,列格式为2019年1月到2019年1月到2019年1月、2019年1月到2019年1月到6月等)。议程是使用过去6个月的简单移动平均值预测未来3个月(从7月到9月)。例如,对于7月1日的预测,移动平均值应使用2019年1月1日、2019年2月1日、2019年3月1日、2019年4月1日、2019年5月1日和2019年6月1日进行计算。 问题是如何有效且快速地计算此操作? 目前我使用的For循环占用了大量的时间 我已经尝试过使用f

我有一个
数据框
,包含
100个键(第1列)
6个月
数据(从1月到6月,列格式为
2019年1月到2019年1月到2019年1月、2019年1月到2019年1月到6月等)
。议程是
使用过去6个月的简单移动平均值预测未来3个月(从7月到9月)
。例如,对于7月1日的预测,移动
平均值应使用
2019年1月1日、2019年2月1日、2019年3月1日、2019年4月1日、2019年5月1日和2019年6月1日进行计算。
问题是如何有效且快速地计算此操作?
目前我使用的For循环占用了大量的时间

我已经尝试过使用for循环,但它占用了大量的时间

counter=1
for keyIndex in range(0,len(finalForecastingData)):
    print(keyIndex)
    for forcastingMonthsIndex in range(31,columns):
        finalForecastingData.iloc[keyIndex,forcastingMonthsIndex] = finalForecastingData.iloc[keyIndex,counter]+finalForecastingData.iloc[keyIndex,counter+5]+finalForecastingData.iloc[keyIndex,counter+10]+finalForecastingData.iloc[keyIndex,counter+15]+finalForecastingData.iloc[keyIndex,counter+20]
        counter = counter+1
    counter=1

欢迎来到stackoverflow

使用pandas
.rolling('60d').mean()
可以很容易地得到滚动平均值。为此,您需要使用
pd.to\u Datetime()
将时间数据转换为
Datetime
格式,并使用
set\u index()
将其设置为索引


你也应该退房。给出示例数据真的很有帮助。使用样例数据框,给你具体的代码要容易得多,而不是看方向。

但是滚动不会考虑中间值,对吗?我的意思是计算第31列的7月1日的SMA……我们必须将1月1日与2月、3月、4月、5月和6月1日相加,它们位于位置1、5、10、15、20、25……它们不是连续使用滚动的……如果我理解正确,您需要将日期分为月和周数,
groupby('weeknumber'))
应该完成这项工作。但是,请创建一个示例数据框和所需的输出。要预测的产品:-ABC香波。应使用最近2个月的SMA进行预测。预测将在3月份第1周完成。给出了2个月(1月和2月)的数据,但数据采用的是周格式,如2019年1月1日、2019年1月2日2019年1月3日、2019年1月4日2019年2月1日、2019年2月2日、2019年2月3日、2019年2月4日(考虑这些是excel中的列),目标是找到2019年3月1日和2019年2月1日的平均值。我不能使用滚动功能,因为2019年1月1日和2019年2月1日之间还有其他周的信息。