我想知道在时间序列上进行迭代的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/

10-12 02:08