当for循环中满足一定条件时,如何将索引从一个Pandas df复制到另一个

2024-06-09 21:17:57 发布

您现在位置:Python中文网/ 问答频道 /正文

不是我没试过,而是找不到解决办法。

这是密码-

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循环中有一个条件,如果满足该条件,它将附加新的数据帧-aaplrenko 我还希望在每次迭代中为True时,它也应该将新的dataframe-aaplrenko附加到索引值中。

目前,索引值只是递增的数字。

在for循环中If和Elif下的最后一条语句中,如果不将ignore_index保持为True,则会出现错误

This is the error when I keep ignore_index as False

我应该在哪里做这个


Tags: trueforclosedataindexopenlowignore