Python pandas:计算blackman窗口的最大值:缺少pandas.core.window.window函数。[最大值,应用]
在pandas中,我试图计算Python pandas:计算blackman窗口的最大值:缺少pandas.core.window.window函数。[最大值,应用],python,pandas,numpy,window,rolling-computation,Python,Pandas,Numpy,Window,Rolling Computation,在pandas中,我试图计算系列滚动窗口的blackman窗口类型的最大值。要实现这一点,我需要使用blackmanwin\u type在滚动窗口上运行一个自定义函数。与默认的win_类型不同,它返回一个pandas.core.window.Rolling,任何其他win_类型都返回一个pandas.core.window.window,它缺少计算该值所需的方法:max或通过apply的自定义函数 window = df['Net Volume'].rolling(window=range_wi
系列
滚动窗口的blackman窗口类型的最大值。要实现这一点,我需要使用blackman
win\u type
在滚动窗口上运行一个自定义函数。与默认的win_类型
不同,它返回一个pandas.core.window.Rolling
,任何其他win_类型
都返回一个pandas.core.window.window
,它缺少计算该值所需的方法:max
或通过apply
的自定义函数
window = df['Net Volume'].rolling(window=range_window, win_type='blackman').max()
这将导致:AttributeError:“窗口”对象没有属性“max”
所以我尝试了一个自定义的应用程序
:
window = df['Net Volume'].rolling(window=range_window, win_type='blackman').apply(lambda x: np.max(x))
我得到:AttributeError:“窗口”对象没有属性“应用”
我陷入了僵局。如何计算
窗口
中blackman窗口的最大值?窗口
对象远不如滚动
对象有用。解决方案似乎使用pandas.core.Series.Rolling
的默认窗口,然后通过应用
与raw=True
乘以转置的np.blackman
列向量(值范围为0-1)到窗口以实现您自己的win\u type='blackman'
。然后在这个结果上执行np.max
:
df['Net Volume'].rolling(window=range_window).apply(
lambda x: np.max(x * np.blackman(range_window)), raw=True
)
如果有人能检查一下,我将不胜感激
iter
尚未在Blackman windows上实现(请检查),因此我猜获得max
仍然是不可能的?我找到了答案。请参阅解决方案。使用np.blackman
而不是pd
;)进行漂亮的捕获谢谢我不太懂聪明的狗屎!:)