0
Я пытаюсь скопировать результаты из массива в dataframe из цикла for. Тем не менее, каждый раз, когда я пытаюсь это, последнее значение цикла обновляется в dataframe:Обновление dataframe с массивом ouput
counter = 0
sample = [1,2,5,10,15,20,30,60,120,180,240,300,360,420,480,540,600]
columns = ['1','2','5','10','15','20','30','60','120','180','240','300','360','420','480','540','600']
index = df.set_index([df.index])
resultsDf = pd.DataFrame(columns=columns)
resultsDf = pd.DataFrame()
resultsDf.set_index([resultsDf.index])
results = []
for index, rowEntry in TradesGTC.iterrows():#Entry of Trade
entryVolume = rowEntry[26]
entryPrice = rowEntry[28]
ccyPair = rowEntry[12][0:6]
entryTime = rowEntry['DateTime']
for data in sample:
exitTime = entryTime + dt.timedelta(seconds = data)
f = MD.between_time(entryTime,exitTime)
buy = entryVolume > 0
sell = entryVolume < 0
if buy == True:
maxBidinTimeFrame = f['bid'].max()
profit = (maxBidinTimeFrame - entryPrice) * entryVolume
results.append(profit)
if sell == True:
minAskinTimeFrame = f['offer'].min()
profit = (entryPrice - minAskinTimeFrame) * entryVolume
results.append(profit)
resultsDf.append(results)
Выход, который возвращает:
resultsDf
1 2 5 10 15 20 30 60 120 180 240 300 360 420 480 540 600
Я ожидаю, чтобы иметь dataframe с заголовками столбцов 1 2-10 .... 600 и результаты приведены в каждом столбце спускаясь так ..
1 2 3 5 10....600
100 200 100...-50
.
.
Цените всю помощь Благодаря
Сразу же я вижу, что вы перезаписать 'df' в нижней части цикла вместо добавления новых столбцов. Кроме того, правильно ли форматирование вашего вопроса? После первого цикла 'for' ничто не отступается (для' TradesGTC'). – chrisaycock
Мне любопытно, почему 'resultsDf' is 'resultsDf = pd.DataFrame (columns = columns)', затем сразу же после определения его как 'resultsDf = pd.DataFrame()'. – Jarad
Ребята спасибо @chrisaycock Спасибо, что форматирование было из-за копирования прошлого в stackoverflow. Я обновил вопрос, добавив результаты. Но я знаю, что заголовок столбца, но ни один из результатов. – noidea