Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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 在应用程序中应用自定义窗口功能_Python_Pandas_Window Functions_Rolling Computation - Fatal编程技术网

Python 在应用程序中应用自定义窗口功能

Python 在应用程序中应用自定义窗口功能,python,pandas,window-functions,rolling-computation,Python,Pandas,Window Functions,Rolling Computation,我有一个数据帧,例如 df = pd.DataFrame([1,2,3,4,5,6,7,8,9]) 现在我想应用一个滚动平均值,例如 df.rolling(window=3, win_type=None).mean() 这给了我一个平均加权元素的结果。 现在我想更改窗口函数。我知道,这可以通过将字符串(例如,'hann')传递给win\u type参数来实现 df.rolling(window=3, win_type='hann').mean() 现在我感兴趣的一点是应用一个窗口函数,它使

我有一个数据帧,例如

df = pd.DataFrame([1,2,3,4,5,6,7,8,9])
现在我想应用一个滚动平均值,例如

df.rolling(window=3, win_type=None).mean()
这给了我一个平均加权元素的结果。 现在我想更改窗口函数。我知道,这可以通过将字符串(例如,
'hann'
)传递给
win\u type
参数来实现

df.rolling(window=3, win_type='hann').mean()
现在我感兴趣的一点是应用一个窗口函数,它使用指数衰减的权重,给“右边”的值赋予高权重,给“更左边”的值赋予低权重。这应该可以通过使用
scipy.signal.windows.index
并调整参数来实现。但是,我正在努力传递这些参数,因为
win\u type
只接受字符串

当我尝试
win\u type='exponential'
时,我得到
ValueError:指数窗口需要tau

有人能告诉我如何将参数(如
tau
传递给
win\u type
),甚至自己创建一个窗口函数吗?

答案是
很重要。解决方案取决于熊猫的版本。
Python通用

将熊猫作为pd导入
df=pd.数据帧([1,2,3,4,5,6,7,8,9])
在tau=10的情况下。
对于熊猫,='0.24.2'

df.rolling(窗口=(3,10),win_type='index').mean()

对于熊猫,='1.1.3'
df.滚动(窗口=3,win_type='index')。平均值(tau=10)

请毫不犹豫地添加其他版本依赖项。

从Stepan提供的链接中找到答案: Tau必须在函数调用中传递,即

df.rolling(window=(3), win_type='exponential').mean(tau=10)

谢谢。然而,复制这个精确的代码仍然会产生``ValueError:指数窗口需要tau```奇怪。这3行代码适合我。您使用的是pandas和numpy的哪些版本?我的pandas是1.1.3我使用的pandas='0.24.2',在检查版本1.1.3后,我可以声称解决方案取决于版本。