对产品和分组求和
问题描述
我有一个如下所示的数据框:
I have a dataframe that looks like this:
allHoldingsFund
allHoldingsFund
BrokerBestRate notional_current DistanceBestRate
0 CITI 7.859426e+05 0.023194
1 WFPBS 3.609674e+06 -0.023041
2 WFPBS 1.488828e+06 -0.023041
3 JPM 3.484168e+05 -0.106632
4 CITI 6.088499e+05 0.023194
5 WFPBS 8.665558e+06 -0.023041
6 WFPBS 4.219563e+05 -0.023041
我正在尝试一次完成求和积和分组(不创建额外的求和积列)
I am trying to do a sum product and a group by in one go (without creating an extra column of sum product)
这行代码我试过了
allHoldingsFund.groupby(['BrokerBestRate'])['notional_current']*['DistanceBestRate'].sum()
如何进行求和,然后使用 group by 进行聚合?
how can I do a sum product and then aggregate it using group by?
期望的输出
BrokerBestRate product of (notional_current and DistanceBestRate)
CITI 654654645665466
JPM 453454534545367
WFPBS 345345345345435
非常感谢
解决方案
可以在groupby
之前建product栏
You can build the product column before the groupby
df.assign(col=df.notional_current*df.DistanceBestRate).groupby('BrokerBestRate',as_index=False).col.sum()
Out[372]:
BrokerBestRate col
0 CITI 32350.817245
1 JPM -37152.380218
2 WFPBS -326860.001568
相关文章