【发布时间】:2021-08-04 05:39:18
【问题描述】:
我有一个数据框:
df = pd.DataFrame({
'Metric': ['Total Assets', 'Total Promo', 'Total Assets', 'Total Int'],
'Product': ['AA', 'AA', 'BB', 'AA'],
'Risk': ['High', 'High','Low', 'High'],
'202101': [ 130, 200, 190, 210],
'202102': [ 130, 200, 190, 210],
'202103': [ 130, 200, 190, 210],})
我想对Product 和Risk 进行分组,并对Total Assets 和Total Promo 中的条目求和,然后从Total Int 中的条目中减去结果。我可以将所有行与Total Int 乘以-1 并对结果求和。但我想知道是否有直接的方法。
df.groupby(['Product', 'Risk']).sum()
实际数据集很大,将某些行乘以 -1 会引入复杂性
输出如下:
df = pd.DataFrame({
'Product': ['AA', 'BB'],
'Risk': ['High', 'Low'],
'202101': [ 120, 190],
'202102': [ 120, 190],
'202103': [ 120, 190],})
【问题讨论】:
-
我认为将要减去的值乘以 -1 是一种有效且明确的解决方案
标签: pandas pandas-groupby