Panda сохранить / добавить столбец, который был «потерян» во время группового и агг - PullRequest
0 голосов
/ 09 октября 2018

Привет, ребята,

Я работаю над сценарием когорт, который показывает CM2 (= вклад вклада 2) создания рекламного аккаунта Google для каждого дня с учетом последних 30 дней.

У меня есть кадр данных, основанный на отчете об эффективности кампании за последние 30 дней, который выглядит следующим образом и содержит более 1000 строк:

 |   Date   |Sale| CM2 |Views|Click|CPC |CTR | CPM |Cost |Data_PullDate
0|2018-09-09|3   |37.44|1436 |77   |0.25|5.36|13.86|19.91|2018-10-09  
1|2018-09-09|0   | 0.00|1359 | 6   |0.29|0.44| 1.31| 1.79|2018-10-09 
2|2018-09-10|0   | 0.00|  98 | 3   |0.38|3.06|11.63| 1.14|2018-10-09 
3|2018-09-10|3   |38.04|2524 |83   |0.30|3.29|10.08|25.46|2018-10-09 

Я группирую данные по столбцу Дата, а затем вычисляюсумма или среднее для столбцов KPI с функцией агг Pandas:

grouped_data = df.groupby(df['Date']).agg({'Sales':['sum'],'CM2':['sum'],'Views':['sum'],'Click':['sum'],'CPC':['mean'],'CTR':['mean'],'CPM':['mean'],'Cost':['sum']})

Результатом является ожидаемая сумма и среднее значение столбцов по дате:

    Date  |  Cost | CPM |CTR | Views|CPC |  CM2  |Sale|Click
             sum   mean  mean  sum   mean   sum    sum  sum
2018-09-09|1971.78|19.44|6.27|108821|0.40|4903.63|188 |5585
2018-09-10|1936.36|20.11|5.91| 94401|0.41|4263.38|194 |4914

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

Как сохранить / добавить столбец Data_PullDate в фрейм данных grouped_data?Кроме того, как мне сохранить первоначальный порядок столбцов?

1 Ответ

0 голосов
/ 09 октября 2018

Это немного зависит от ваших данных, но одно решение (если Data_Pulldate всегда одно и то же) будет добавить еще одну агрегацию

'Data_PullDate': ['min']

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...