np.log()和np.diff()的逆操作是什么?

Sus*_*han 6 python arrays numpy python-3.x pandas

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

jpp*_*jpp 11

反过来将涉及累积和然后是指数.由于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]
Run Code Online (Sandbox Code Playgroud)