Операция Python для массива или фрейма данных, требующая обновления каждой строки - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь выучить python / pandas и не знаю, как подойти к этому

Учитывая:

df =

              P1      P2      P3       P4      P5
Date                                                  
2017-01-20   808.23  135.60  107.64  53.20  57.66
2017-01-27   835.77  138.30  109.29  53.18  56.13
2017-02-03   810.07  137.92  110.28  52.34  55.05
2017-02-10   827.48  139.87  109.27  56.23  56.22
2017-02-17   845.06  142.91  110.02  56.74  57.35
2017-02-24   845.23  145.89  110.29  57.83  57.48
2017-03-03   849.85  147.77  111.20  56.68  57.09
2017-03-10   852.20  146.88  110.95  56.45  54.54
2017-03-17   852.31  149.57  111.67  57.79  55.79
2017-03-24   845.60  147.77  112.17  56.37  56.81

Допустим, у меня была переменная обновления, изначально установленная на x = 1000.После того, как операция выполнена в первой строке, где я использовал x как часть уравнения, допустим, я получил окончательный результат первой строки = 1005. Затем я хочу x = 1005, и сделаю указанное уравнение с x во второй строкегде конечный результат второй строки = 1010. Затем я хотел бы обновить x = 1010 и сделать то же самое на всем протяжении кадра данных.Я предполагаю, что это должно было бы сделать что-то с циклом for, и я подумал, что это может быть легче / лучше сделать после преобразования указанного фрейма данных в массив numpy, но я надеялся получить некоторые советы по итерации по набору данных и обновлениюпеременная в зависимости от результата строки перед ним.

Любые советы будут великолепны!Огромное спасибо.

1 Ответ

0 голосов
/ 18 мая 2018

Последняя версия панд включает в себя встроенную функцию для перебора строк.

for index, row in df.iterrows():
    # do some logic here and modify the value of x as per your needs
    # Or, if you want it faster use itertuples()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...