首页 > 解决方案 > DataFrame Pivot Table 在特定列上运行特定功能

问题描述

我有一个包含以下信息的数据集。我想编写一个数据透视表,计算日期列中的天数,然后在印象、点击、转化和预算交付列上运行总和。本质上,我想要表格的摘要

Date    Impressions Clicks  Conversions Budget Delivered
0   1/1/2019    11,506,995  1,672   88  $12,124.14
1   1/2/2019    9,394,458   1,516   179 $9,838.45
2   1/3/2019    4,696,388   878 129 $6,858.67
3   1/4/2019    8,987,784   1,179   107 $9,566.55
4   1/5/2019    8,923,751   1,171   88  $9,322

我无法弄清楚如何返回这个单行 DataFrame。我正在尝试使用 pivot_table 方法,但 groupby 参数没有返回所需的结果。不知道如何处理这个问题。

标签: pythonpandas

解决方案


from datatable import dt, f, by

df = dt.Frame("""
Date    Impressions Clicks  Conversions Budget Delivered
   1/1/2019    11,506,995  1,672   88  $12,124.14
   1/2/2019    9,394,458   1,516   179 $9,838.45
   1/3/2019    4,696,388   878 129 $6,858.67
   1/4/2019    8,987,784   1,179   107 $9,566.55
   1/5/2019    8,923,751   1,171   88  $9,322
""")

budget = df['Budget'].to_list()[0]
budget = [float(x.replace('$', '').replace(',', '')) for x in budget]

df['Budget'] = dt.Frame(budget)

df[:, dt.sum(f[1:6])]


   | Impressions  Clicks  Conversions   Budget  Delivered
-- + -----------  ------  -----------  -------  ---------
 0 |    43509376    6416          591  47709.8          0

推荐阅读