Я новичок в pandas DataFrame, и у меня есть немного борьбы, поскольку я не могу понять, как получить доступ к определенной ячейке для расчета для заполнения новой ячейки.Создайте новый столбец из функции в pandas Dataframe, используя значения из DataFrame
Я хотел бы использовать применить для вызова внешней функции с данными из ячейки в строке - 1.
Я сделал это, но outputing все в простом массиве, но я уверен, что есть лучший способ сделать это:
Я строем своего dataFrame из CSV со следующим индексом:
DateIndex = pd.date_range(start="2005-1-1", end="2017-1-1", freq=BDay())
Я уверен, моя dataframe в порядке, в соответствии с приведенным ниже экстрактом:
2005-01-03 0.005742
2005-01-04 0.003765
2005-01-05 -0.005536
2005-01-06 0.001500
2005-01-07 0.007471
2005-01-10 0.002108
2005-01-11 -0.003195
2005-01-12 -0.003076
2005-01-13 0.005416
2005-01-14 0.003090
Итак, я хотел бы добавить 100 к первой записи, а для других добавить один, а затем умножить его на предыдущую запись.
я был в состоянии сделать это в массиве:
for i in range(0,len(df.index)):
if i == 0:
listV = [df.iloc[i] + 100]
else:
listV.append(listV[i-1] * (1 + df.iloc[i]))
есть способ сделать это и поместить результат непосредственно в новом столбце кадра данных?
Спасибо большое, С уважением, Julien
Вобще 'ФР [ 'новое имя столбца'] = listV'. Вам нужно удалить квадратные скобки в инструкции if, иначе оно превратит значение в список. Строка также должна быть внутри оператора append, как и в вашем заявлении else. –