Helpers - компьютеры, интернет, программирование

Добавление к следующей строке результата математической операции между тремя столбцами

Итак, у меня есть следующий Pandas DataFrame, где все значения в третьем столбце (отношение) одинаковы:

import pandas as pd 

df = pd.DataFrame([[2, 10, 0.5], 
                   [float('NaN'), 10, 0.5], 
                   [float('NaN'), 5, 0.5]], columns=['Col1', 'Col2', 'Ratio'])
╔══════╦══════╦═══════╗
║ Col1 ║ Col2 ║ Ratio ║
╠══════╬══════╬═══════╣
║ 2    ║   10 ║ 0.5   ║
║ NaN  ║   10 ║ 0.5   ║
║ NaN  ║    5 ║ 0.5   ║
╚══════╩══════╩═══════╝

Я хочу знать, есть ли способ умножить Col1 * Ratio, а затем вывод этого продукта добавить его к Col2 и добавить значение в следующую строку Col1, используя функцию, предоставленную пандами.

Пример вывода:

╔══════╦══════╦═══════╗
║ Col1 ║ Col2 ║ Ratio ║
╠══════╬══════╬═══════╣
║ 2    ║   10 ║ 0.5   ║
║ 11   ║   10 ║ 0.5   ║
║ 15.5 ║    5 ║ 0.5   ║
╚══════╩══════╩═══════╝
04.03.2020

  • лучше использовать цикл 04.03.2020
  • @YOBEN_S это то, чего я хочу избежать, если это возможно. 04.03.2020
  • Я не уверен, что вы можете, так как в вашей операции каждая строка зависит от результата предыдущей строки... поэтому они должны выполняться по порядку. (возможно, вы можете избежать явного цикла, используя apply или что-то в этом роде, но это просто зацикливается под капотом...) 04.03.2020
  • и соотношение варьируется в зависимости от строки? 04.03.2020
  • @QuangHoang Нет, соотношение остается одинаковым во всех рядах. 04.03.2020
  • Я думаю, вы ищете оконные функции в pandas. Я думаю, что это вопрос о переполнении стека может указать вам в правильном направлении 04.03.2020
  • @ Adam.Er8 То, что вы сказали, очень похоже на ewm, который можно векторизовать. Однако, возможно, не стоит реализовывать такое решение здесь. 04.03.2020

Ответы:


Новые материалы

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

Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

Почему объяснимость так важна прямо сейчас?
По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

Анимированный математический анализ
Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

Создание простого слайдера изображений с помощью JavaScript
Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

Создание базы данных с помощью супергероя «Python»
В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

ИИ для чайников: руководство для начинающих по пониманию будущего технологий
Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..