web-dev-qa-db-ja.com

np.log()とnp.diff()の逆の操作は何ですか?

私のプログラムでdataTrain = np.log(mdataTrain).diff()というステートメントを使用しました。声明の影響を覆したい。 Pythonではどのように実行できますか?

9
Sushodhan

逆の場合は、累積和を取り、次に指数を求めます。 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]
11
jpp