【发布时间】:2020-07-13 20:49:23
【问题描述】:
我有一个数据框 (data2),其中包含许多不同制造商的销售订单,其中有一列名为“num units sold_x”。
如果制造商名称存在于名为 Dataman 的列表中:
我想更新每一行中“num units sold_x”的值,方法是获取数据框中名为“EQTUnit”的列的总和每个特定制造商。如果特定制造商的所有行都具有相同的“num units sold_x”字段,则很好,因为这是每个制造商的“EQTUnit”之和。
我认为这听起来很简单,但似乎无法解决这个问题。这是我目前所拥有的:
for index,row in data2.iterrows():
for x in dataman:
if data2.loc[index, 'EQTMan'] in dataman:
data2.loc[index, 'num units sold_x'] = data2[data2['EQTMan'] == x].EQTUnit.sum()
这是一些示例数据:
UCCStatus UCCDate EQTMan EQTUnit
0 SALE 5/20/2019 SPARTAN 1
1 SALE 5/28/2019 SPARTAN 2
2 SALE 5/29/2019 SPARTAN 1
3 SALE 5/25/2019 SPARTAN 1
4 TERMINATI 7/16/2019 JOHNSON 11
5 SALE 8/8/2019 SPARTAN 1
6 TERMINATI 9/17/2019 SPARTAN 1
7 SALE 8/16/2019 TITAN 2
8 SALE 8/5/2019 TITAN 2
9 SALE 8/5/2019 TITAN 2
基本上,我需要通过获取每个唯一制造商的“EQTUnit”总和来经常更新“num units sold_x”字段。
预期输出:
UCCStatus UCCDate EQTMan EQTUnit num units sold_x
0 SALE 5/20/2019 SPARTAN 1 7
1 SALE 5/28/2019 SPARTAN 2 7
2 SALE 5/29/2019 SPARTAN 1 7
3 SALE 5/25/2019 SPARTAN 1 7
4 TERMINATI 7/16/2019 JOHNSON 11 11
5 SALE 8/8/2019 SPARTAN 1 7
6 TERMINATI 9/17/2019 SPARTAN 1 7
7 SALE 8/16/2019 TITAN 2
8 SALE 8/5/2019 TITAN 2
9 SALE 8/5/2019 TITAN 2
【问题讨论】:
-
您能否提供一些示例数据和预期输出?
-
你现在可以检查一下是否更清楚了吗?
-
您的预期输出是什么?像我的回答一样吗?你能以我粘贴输入数据的相同格式包含它吗?请不要在 StackOverflow 上发布图片。我已经编辑了你的问题。
-
正是我要找的大卫 - 非常感谢!