2016-03-08 4 views
-2

Я действительно новичок в программировании и пытаюсь запутать свой путь обучения Python. Я пишу код для работы с данными из Yahoo Finance. Он передан в кадр данных PandasСсылка на несколько строк в pandas dataframe

Я хочу выполнить простой расчет, который относится к нескольким строкам данных. Я не думаю, что смогу это сделать, поскольку iterrows охватывает одну строку за раз.

Ниже приведена моя датафрейма (указатель даты). Последняя строка - это мой триггер для покупки (1) или продажи (-1), но цена покупки/продажи должна поступать из следующей строки.

Итак, в этом примере 22 февраля - мой день сигнала. Затем мне нужно использовать открытую цену 23 февраля для расчетов по моим позициям и т. Д. Каков наилучший способ доступа к данным в df, зависящим от значений в столбце сигнала (созданных ранее с помощью iterrows)? Я не могу сделать это во время итераций iterrows, поскольку он будет рассматривать только одну строку за раз (я думаю).

2016-02-19 117.580002 112.619343 108.836458 109.025525 2.025102    
2016-02-22 115.489998 112.892739 109.097382 109.089848 2.039591  1 
2016-02-23 117.220001 113.304859 109.415916 109.170745 2.028632  1 
2016-02-24 117.610001 113.714873 109.737252 109.254718 2.089769  1 

Любые идеи были бы высоко оценены.

Приветствие \ MP

+0

Вы можете прочитать следующее: http://stackoverflow.com/questions/15315452/selecting-with-complex-criteria-from-pandas-dataframe и найти 'select' на этой странице: http: // pandas. pydata.org/pandas-docs/stable/cookbook.html – MaxU

+0

Спасибо, посмотрим сейчас – MGP

ответ

0

Если колонок сигнала Ласы один, и вы хотите, чтобы выбрать строки, где значение в этом столбце 1:

df.loc[df.iloc[:, -1] == 1] 

Я лучше использовать имя столбца если бы я знал это.

+0

Проблема работает над строкой ниже первого вхождения 1 в столбце сигнала. – MGP

+0

По существу, поиск по столбцу «позиция» по порядку индекса (временных рядов) до тех пор, пока не будет 1. Затем вернем значение, расположенное в столбце «закрыть» следующей строки. Я хочу вернуть это значение только в первый раз. Возможно, лучший способ создать мой DataFrame в первую очередь, но это основано на импорте из Yahoo Finance. – MGP

Смежные вопросы