我有一个函数,它接受一个数组和一个值,并返回一个值。我想将它滚动应用到我的系列s
中,因此数组始终是滚动窗口。这是我尝试(不成功)的一个最小示例,np.random.choice
用于代替我的实际功能。我找到了很多查找滚动方式和其他内置函数的示例,但无法让它适用于我的任意 lambda 函数。
s = pd.Series([1,2,3,4,5,6,7,8,9])
rolling_window = s.rolling(3)
第一次尝试:
new_values = s.apply(lambda x: np.random.choice(rolling_window, size=1))
ValueError: a [a is the first positional param of choice(), so refer to 'rolling_window'] 必须是一维或整数
另一种尝试:
new_values = rolling_window.apply(lambda x: np.random.choice(size=1))
TypeError:choice() 至少需要 1 个位置参数(给定 0)
...我如何在我的系列中的每个值上,在我的系列中的每个滚动数组窗口上应用任意 lambda 函数(获取一个数组和一个值)?