Python Pandas/Numpy中的迭代公式
是否可以使用Pandas和Numpy执行迭代/递归计算?也就是说,使用数据帧中的数据并使用Numpy函数有效地应用公式,而不是使用Python for循环一步一步地进行计算 例如,斐波那契序列看起来如何Python Pandas/Numpy中的迭代公式,python,pandas,numpy,Python,Pandas,Numpy,是否可以使用Pandas和Numpy执行迭代/递归计算?也就是说,使用数据帧中的数据并使用Numpy函数有效地应用公式,而不是使用Python for循环一步一步地进行计算 例如,斐波那契序列看起来如何 任何常系数线性递归都有一个闭式解(有)。具体而言,对于您的,它是: 在我看来,neednumba,check-cumsum和相关的ufunc累积方法将这种迭代推到编译代码中。但是numpy中没有通用的方法。谢谢,我用斐波那契作为迭代公式的一个例子。实际上,我正在进行一个回溯测试模拟,其中步骤n的
任何常系数线性递归都有一个闭式解(有)。具体而言,对于您的,它是:
在我看来,need
numba
,check-cumsum和相关的ufunc累积方法将这种迭代推到编译代码中。但是numpy中没有通用的方法。谢谢,我用斐波那契作为迭代公式的一个例子。实际上,我正在进行一个回溯测试模拟,其中步骤n的输入是步骤n-1的输出。不过,这个系列是什么?如果它是常数系数线性递归,它很容易解。如果你能描述一下这个家庭,也许会出现一种有效的方法。1-看看订单的状态;2-决定我们是想购买还是出售;3-跟踪余额和利润。我在第n步的买卖决定取决于我从第1步到第n-1步所获得的利润。当然,我在第n步的利润取决于第n-1步的利润和我在第n步所做的交易。就我个人而言,我会使用Cython(特别是如果你对C++感到满意的话)。如果你感兴趣,我可以稍后再写。
import numpy as np
x = np.array(range(10))
>>> np.array(((1 + np.sqrt(5))**x - (1 - np.sqrt(5))**x) / (2**x * np.sqrt(5)), dtype=int)
array([ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34])