Создание нового столбца фрейма данных на основе значений в другом столбце (той же строке и предыдущей строке), а также нPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создание нового столбца фрейма данных на основе значений в другом столбце (той же строке и предыдущей строке), а также н

Сообщение Anonymous »


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

если у меня есть следующий столбец:

Столбец А 0 0 1 2 3 0 0 1 4

Следующим столбцом Excel будет столбец B, где, если ячейка столбца A = 0, то ячейка столбца B = 0, но если столбец A = X, столбец B = X + [значение в предыдущей строке в столбце B]
>
Используя эту формулу и приведенный выше столбец A, столбец B будет выглядеть следующим образом:

Столбец Б 0 0 1 3 = 1 + 2 6 = 3 + 3 0 0 1 5 = 1 + 4

Я не совсем уверен, возможно ли это, поскольку новый столбец ссылается сам на себя. Я просмотрел функции loc и iloc, но не смог найти, как заставить работать смещение - я вижу, что есть функция сдвига, но у меня также есть условное что-то вроде df["B"] = df.loc[ df["A"] == 0 ....

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

За пределами фреймов данных кажется простым написать рекурсивную формулу, имитирующую Excel:

в ячейке B2 = if(A2 = 0, 0, A2+B1) B1 всегда будет 0.

Спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»