python 中所有行的 SUMIF
我正在尝试通过创建一个名为 SumifsZ 的新列来复制 Excel 中的 Python 中的 SUMIF。 SumifsZ 是我在 python 中需要的所需输出。
SumifsZ 列第一行中的公式是 =SUMIFS(C:C,B:B,"Z",A:A,A2) ,我需要将其复制到第三、第四行......等
。 | 地区 | 数量 | SumifZ |
---|---|---|---|
A | X | 3 | 13 |
A | Z | 3 | 13 |
B | Z | 9 | 9 |
B | X | 2 | 9 |
C | Y | 5 | 0 |
A | Z | 10 | 13 |
D | Z | 11 | 20 |
D | Z | 9 | 20 |
E | Y | 6 | 0 |
F | Z | 7 | 7 |
我使用的代码是 Data['SumifsZ'] = Data.query('Region ==="Z"').QTY.sum()
和 i我没有得到与 excel 相同的结果。请帮忙!
I am trying to replicate SUMIFs in Python that I have in my excel by creating a new column called SumifsZ. SumifsZ is the desired output i would need in python.
my formula in first row of SumifsZ column is =SUMIFS(C:C,B:B,"Z",A:A,A2) , i would need that to be replicated in 3rd,4th rows.... etc.
Product | Region | QTY | SumifZ |
---|---|---|---|
A | X | 3 | 13 |
A | Z | 3 | 13 |
B | Z | 9 | 9 |
B | X | 2 | 9 |
C | Y | 5 | 0 |
A | Z | 10 | 13 |
D | Z | 11 | 20 |
D | Z | 9 | 20 |
E | Y | 6 | 0 |
F | Z | 7 | 7 |
the code i am using is Data['SumifsZ'] = Data.query('Region =="Z"').QTY.sum()
and i am not getting the same result as excel. please help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
已编辑:
您可以通过使用
loc
对数据框进行切片并在“Product”上使用groupby
来解决此问题。可以将其转换为dict
并通过apply
在 lambda 函数中使用,如下所示:结果:
文档:
pandas.DataFrame.loc
pandas.DataFrame.apply
pandas.DataFrame.groupby
Edited:
You can approach this problem by slicing the data frame with
loc
and usinggroupby
on "Product". This can be converted to adict
and used in a lambda function viaapply
as follows:Result:
Docs:
pandas.DataFrame.loc
pandas.DataFrame.apply
pandas.DataFrame.groupby