Issue
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?
Solution
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]
Answered By - jpp
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.