Создание нового столбца фрейма данных на основе значений в другом столбце (той же строке и предыдущей строке), а также н ⇐ Python
Создание нового столбца фрейма данных на основе значений в другом столбце (той же строке и предыдущей строке), а также н
Я хочу создать столбец в кадре данных на основе другого столбца, используя две строки, и самого нового столбца. Я пытаюсь воспроизвести и превзойти функцию, которая создает постоянную сумму значений, пока не будет выполнено определенное условие.
если у меня есть следующий столбец:
Столбец А 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.
Спасибо
Я хочу создать столбец в кадре данных на основе другого столбца, используя две строки, и самого нового столбца. Я пытаюсь воспроизвести и превзойти функцию, которая создает постоянную сумму значений, пока не будет выполнено определенное условие.
если у меня есть следующий столбец:
Столбец А 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.
Спасибо
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение