我想知道在时间序列上进行迭代的numpy等效项(任何数组都可以)以获取诸如简单的net和log返回之类的计算。
在Matlab中,我将使用以下内容:
X = some T x N array
for i = 2:length(X)
returns(i,:) = (returns(i,:) - returns(i-1,:))/returns(i-1,:)
end
谢谢 !
最佳答案
在numpy中非常相似:
import numpy as np
X = np.array([[1,2,3],[4,5,6]])
for i in range(1,len(X)):
returns[i,:] = (returns[i,:] - returns[i-1,:]) / returns[i-1,:]
但是请注意,使用
for
可以实现与np.diff(returns, axis=0) / returns[:-1]
循环相同的计算(同样,MATLAB具有diff()
函数)。关于python - 在Python(numpy)中按时间序列进行迭代,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50139742/