在熊猫中,我正在尝试计算Series
的滚动窗口的布莱克曼窗口类型的最大值。为此,我需要在带有blackman
win_type
的滚动窗口上运行自定义函数。与默认win_type
返回pandas.core.window.Rolling
的情况不同,其他win_type
返回pandas.core.window.Window
的情况,它缺少计算此值所需的方法:max
或自定义通过apply
起作用。
window = df['Net Volume'].rolling(window=range_window, win_type='blackman').max()
这将导致:AttributeError: 'Window' object has no attribute 'max'
所以我尝试了一个自定义的apply
:
window = df['Net Volume'].rolling(window=range_window, win_type='blackman').apply(lambda x: np.max(x))
然后我得到:AttributeError: 'Window' object has no attribute 'apply'
我陷入僵局。如何计算Window
的布莱克曼窗口的最大值? Window
对象比Rolling
对象有用得多。
答案 0 :(得分:1)
该解决方案似乎将默认窗口用于"read"
,然后将pandas.core.Series.rolling
与apply
一起使用,将转置后的raw=True
列向量(值范围为0-1)乘以窗口来实现自己的np.blackman
。然后,您win_type='blackman'
看到以下结果:
np.max
如果有人可以检查一下,我将不胜感激!