Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 19, 2018 15:57:08

Rusl
Зарегистрирован: 2017-10-23
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

Pandas dataframe перебор и изменение значений

добрый день,
есть задача переноса значений по условию.

представим простой dataframe
SOURCE VALUE
yandex / organic 0.40
google / organic 0.01
google / cpc 0.01
google / cpc 0.01
google / cpc 0.01
yandex / organic 0.01
yandex / organic 0.01
google / organic 0.40

нужно перенести value и приплюсовать к значению ниже если sorce содержит organic
и так по строкам. если доходит до строки, где sorce содержит cpc, прибавить к его значению все расее приплюсованные значения от строк с organic. Если на след. строке сново есть cpc - value оставляем без изменения. если не было больше cpc, плюсуем всё к значению последней строки в датафрейме.

вот что планируется получить в результате
SOURCE VALUE
yandex / organic 0.00
google / organic 0.00
google / cpc 0.42
google / cpc 0.01
google / cpc 0.01
yandex / organic 0.00
yandex / organic 0.00
google / organic 0.42

как я это вижу, нужна переменная foo = 0
добавим новый столбец value2
перебираеть датафрейм по строкам
применять к строке str.contains('organic', regex=False)
если скрипт находит - value2 делаем равным foo, то есть 0
после foo += value и идём на строку ниже.

мне кажется логика моя не верна. если есть идеи, как решить задачу более корректно, прошу подсказать




python: 3.6.6 64-bit
система: windows 10, 64-bit
редактор: PyCharm 2018.1.4 (Community Edition)

учебник: Изучаем Python. Программирование игр, визуализация данных, веб-приложения. Мэтиз Эрик.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version