Issue
Instead of
cv['Open1'] = cv['Open'].pct_change(fill_method=None)
cv['Open2'] = cv['Open'].pct_change(periods=2,fill_method=None)
cv['Open3'] = cv['Open'].pct_change(periods=3,fill_method=None)
cv['Open4'] = cv['Open'].pct_change(periods=4,fill_method=None)
cv['Open5'] = cv['Open'].pct_change(periods=5,fill_method=None)
I tried to do
for i in range(0, 4, 1):
Open_values += cv['Open%d' % (i) .pct_change(periods='%d' %(i)]
Open_names += ["Open%d" % (i)]
cv = pd.concat([Open_values],names=['Open_names'])
but it doesnt work.
my desired output is:
Open1 | Open2 | Open3 | Open4 | Open5 |
---|---|---|---|---|
nan | nan | nan | nan | nan |
#.## | nan | nan | nan | nan |
#.## | #.## | nan | nan | nan |
#.## | #.## | #.## | nan | nan |
#.## | #.## | #.## | #.## | nan |
#.## | #.## | #.## | #.## | #.## |
Solution
no need to create the name of the column or concatenate separately, also the index of the range was off by 1.
for i in range(1, 6, 1):
cv['Open%d'%(i)] = cv['Open'].pct_change(periods=i,fill_method=None)
Answered By - Tomward Matthias
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.