Как сформировать название колонок в DataFrame?

Для столбцов 'p' и 's', я делаю pct_change()

predict_step = 10
trades = 30

Для 'p':

data['step_p'] = data['p'].shift(predict_step)
data['step-1_p'] = data['p'].shift(predict_step+1)
for i in range(1, trades+1):
    data[i] = data['step-1_p'].pct_change(i)

Для 's':

data['step_s'] = data['s'].shift(predict_step)
data['step-1_s'] = data['s'].shift(predict_step+1)
for i in range(1, trades+1):
    data[i] = data['step-1_s'].pct_change(i)

Как видите, у меня названия столбцов (data[i]) для 's' и 'p' совпадают и как следствие, 's' перекрывает 'p'. Вопрос: Как сделать так, чтобы при генерации колонок по 's' и по 'p', названия колонок были уникальными? Например, для 'p':

'p_1', 'p_2', 'p_3' ... 'p_30'

Для 's':

's_1', 's_2', 's_3' ... 's_30'

Спасибо


Ответы (1 шт):

Автор решения: MaxU

как-то так:

for i in range(1, trades+1):
    data[f"p_{i}"] = data['step-1_p'].pct_change(i)
    data[f"s_{i}"] = data['step-1_s'].pct_change(i)
→ Ссылка