【发布时间】:2021-04-05 20:59:47
【问题描述】:
我有一个数据库,用于跟踪建筑公司的服务和安装收入。我正在尝试跟踪技术人员的流动率,其中技术人员为销售人员和销售收入设定了领先地位。在此示例中,从数据库中提取,贾斯汀是创建潜在客户的技术人员;肖恩是接电话的推销员,在这种情况下,他卖掉了它;最后,Victor 是安装这项工作的人。所有推销员的总数为 0,因为公司在安装完成之前不会收款。如果project_id == 0 则意味着没有从原始呼叫创建潜在客户。一个项目编号可以跨越至少 2 行,最多 3 行。
例子:
project_id emp_name client_name ... invoice_date total
... ... ... ... ... ... ...
15315 26173042 Justin Bill W ... 2021-03-26 169.95
... ... ... ... ... ... ...
15322 26173042 Sean Bill W ... 2021-03-27 0
... ... ... ... ... ... ...
15347 26173042 Victor Bill W ... 2021-04-01 17235
15348 0 Justin Jane D ... 2021-04-01 285
... ... ... ... ... ... ...
我想感谢贾斯汀(Justin)设置了导致销售 17200 美元的电话,我想感谢肖恩(Sean)出售这份工作。我希望创建一个名为 sales_total 的新列,用于记录销售数据。
想要的输出:
project_id emp_name client_name ... invoice_date total sales_total
... ... ... ... ... ... ... ...
15315 26173042 Justin Bill W ... 2021-03-26 169.95 17235
... ... ... ... ... ... ... ...
15322 26173042 Sean Bill W ... 2021-03-27 0 17235
... ... ... ... ... ... ... ...
15347 26173042 Victor Bill W ... 2021-04-01 17235 17235
15348 0 Justin Jane D ... 2021-04-01 285 0
... ... ... ... ... ... ... ...
我尝试过使用pd.groupby、pd.sort_values 和pd.iloc;但没有成功。我不太清楚如何为所需的行分配正确的值。如果有人知道解决方案或可以指出正确的方向,将不胜感激。
【问题讨论】:
-
对于单个 project_id,您想将
sum of the total分配给所有行吗? -
@AmitVikramSingh 我想为具有相同 project_id 的行应用总数的最大值。除了
project_id == 0的时候,因为 project_id 为 0 的行很多。
标签: python python-3.x pandas dataframe