Используйте предыдущие значения строк во фрейме данных для построения текущего значения ячейки - PullRequest
0 голосов
/ 06 мая 2019

У меня есть датафрейм, представленный здесь

   A     
0.001216  
0.000453
0.00506
0.004556
0.005266

Я хочу создать новый столбец B в соответствии с этой формулой, представленной в приведенном ниже коде.

column_key = 'B'
factor = 'A' 
df[column_key] = np.nan
df[column_key][0] = (df[factor][0] + 1) * 100
for i in range(1, len(df)):
    df[column_key][i] = (df[factor][i] + 1) * df[column_key][i-1]

Я пытался заполнить текущее значение ячейки, используя предыдущую ячейку столбца и соседнюю ячейку столбца.

Это то, что я пробовал, но я не думаю, что это будет эффективно.

Может кто-нибудь помочь мне с наиболее эффективным подходом к решению этой проблемы?

1 Ответ

1 голос
/ 06 мая 2019

Используя pandas.cumprod () , это можно сделать следующим образом:

df['B'] = df['A'] + 1
df['B'][0] = df['B'][0] * 100
df['B'] = df['B'].cumprod()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...