What is the inverse operation of np.log() and np.diff()?
16,476
The reverse will involve taking the cumulative sum and then the exponential. Since pd.Series.diff
loses information, namely the first value in a series, you will need to store and reuse this data:
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]
Author by
Sushodhan
Updated on June 12, 2022Comments
-
Sushodhan almost 2 years
I have used the statement
dataTrain = np.log(mdataTrain).diff()
in my program. I want to reverse the effects of the statement. How can it be done in Python?