Как спрогнозировать значение столбца на основе его предыдущего значения в Python - PullRequest
0 голосов
/ 27 мая 2020

У меня есть фрейм данных с 3 000 000 идентификаторов. Каждый ID имеет диапазон месяцев от 01.01.2015 до 01.12.2018. У каждого идентификатора есть столбцы «A» и «B» со значениями numeri c. Мне нужно создать новый столбец «C :.

Для каждого идентификатора, когда Date == '2015-01-01', который является первым месяцем для этого идентификатора, столбец C значение, равное exp (значение column_A). Для следующего месяца (Date == '2015-02-01') столбец C значение равно exp (log (column_C_value в предыдущем месяце) + column_B_value в этом месяце), поэтому здесь exp (журнал (столбец C @ 2015-01-01) + column_B @ 2015-02-01). Каждый из следующих месяцев имеет тот же шаблон, пока не достигнет 2018-12-01.

In Python, я могу установить l oop для каждого идентификатора и для каждой строки / месяца, например: для идентификатора в диапазоне (xxx): для месяца в диапазоне (xxxx):

Однако такой расчет занимает много времени. Может ли кто-нибудь подсказать мне более быстрый способ сделать этот расчет? Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 29 мая 2020

Считайте, что (1) exp (x + y) == exp (x) * exp (y). И (2) exp (log (x)) == x.

Итак, exp (log (c1) + b2) == c1 * exp (b2). Следующее значение упрощается до c1 * exp (b2) * exp (b3) и т. Д.

Это означает, что вам нужно умножить все значения exp (b), которые можно превратить в сложение всех (b ) -s, а затем применив exp () к результату.

И не забудьте умножить его на a1, начальное значение.

a1 * exp (b2 * b3 * .. .)

...