如何在for循环中满足某些条件时将索引从一个Pandas df复制到另一个

时间:2017-07-07 00:48:44

标签: python pandas

这不是我没有尝试过,但无法找到解决方案。

这是代码 -

from pandas_datareader import data
import pandas as pd

aapl = data.DataReader('AAPL', 'google', '2015-01-05') # Apple stock data
aaplclose=aapl['Close'] 
bricksize=2.5

aaplrenko=pd.DataFrame()
aaplrenko['Open']=0.0
aaplrenko['High']=0.0
aaplrenko['Low']=0.0
aaplrenko['Close']=0.0
aaplrenko.index.name='Date'



renko={'upperband':110.0, 'lowerband':107.5}   #Date is 2015-01-05


for i in aaplclose.index:
    if aaplclose[i] > renko['upperband']+bricksize:
         renko['upperband']+=bricksize
         renko['lowerband']+=bricksize
         aaplrenko=aaplrenko.append({'Open': renko['lowerband'], 'High': renko['upperband'], 'Low': renko['lowerband'], 'Close':renko['upperband']}, ignore_index=True)         

    elif aaplclose[i] < renko['lowerband']-bricksize:
         renko['upperband']-=bricksize
         renko['lowerband']-=bricksize
         aaplrenko=aaplrenko.append({'Open': renko['lowerband'], 'High': renko['upperband'], 'Low': renko['lowerband'], 'Close':renko['upperband']},ignore_index=True)

注意 - 我已经有一个包含一列的数据框 - aaplclose和一个带日期的索引。

我在for循环中有一个条件,如果遇到它将附加新的dataframe- aaplrenko 我还想要的是每次迭代时,如果为True,它也应该附加索引值的新数据帧aaplrenko。

目前,指数值只是增加的数字。

在for循环中的If和Elif下的最后一个Statement中,如果我不将ignore_index保持为True,则会出错

This is the error when I keep ignore_index as False

我应该在哪里制作

0 个答案:

没有答案