我在我的程序中使用了语句 dataTrain = np.log(mdataTrain).diff()。我想扭转该语句的效果。如何在 Python 中完成?

最佳答案

反过来将涉及采用累积总和,然后是指数。由于 pd.Series.diff 丢失信息,即序列中的第一个值,您将需要存储和重用此数据:

np.random.seed(0)

s = pd.Series(np.random.random(10))

print(s.values)

# [ 0.5488135   0.71518937  0.60276338  0.54488318  0.4236548   0.64589411
#   0.43758721  0.891773    0.96366276  0.38344152]

t = np.log(s).diff()
t.iat[0] = np.log(s.iat[0])
res = np.exp(t.cumsum())

print(res.values)

# [ 0.5488135   0.71518937  0.60276338  0.54488318  0.4236548   0.64589411
#   0.43758721  0.891773    0.96366276  0.38344152]

关于python - np.log() 和 np.diff() 的逆运算是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52590745/

10-15 16:36