如何从Python中的多个数据点重新设置单元格的中心?

如何从Python中的多个数据点重新设置单元格的中心?,python,pandas,Python,Pandas,我在Stackexchange上浏览了不同的问题,但还没有弄清楚如何在Pandas中实现我需要的功能。我想最终会很简单 我在做一个任务,其中一个数据集有一组产品,每个产品都有一行对应于它所在的每个商店。因此,产品A将有单独的食品、药店、Target、沃尔玛等产品线。然后,它的可用性和该门店的重要性将成倍增加,我需要将结果重新计算为100% 现在我正在Excel/Google工作表中手动完成,但这既烦人又乏味。我可以告诉您如何使用Groupby获得每个产品E列的总和,但我不知道如何为每个产品显示该

我在Stackexchange上浏览了不同的问题,但还没有弄清楚如何在Pandas中实现我需要的功能。我想最终会很简单

我在做一个任务,其中一个数据集有一组产品,每个产品都有一行对应于它所在的每个商店。因此,产品A将有单独的食品、药店、Target、沃尔玛等产品线。然后,它的可用性和该门店的重要性将成倍增加,我需要将结果重新计算为100%

现在我正在Excel/Google工作表中手动完成,但这既烦人又乏味。我可以告诉您如何使用Groupby获得每个产品E列的总和,但我不知道如何为每个产品显示该数字,以便将E列中的每个数字划分为它


有人有什么建议吗?

获取要显示的每个产品的总和
。转换('sum')

一行:

df['Repercentaged'] = df.groupby('Product').Multiplied.transform(lambda x: x/x.sum())
但是如果你想保留Sum列

import pandas as pd

df['Sum'] = df.groupby('Product').Multiplied.transform('sum')
#    Location  Multiplied Product   Sum
#0       Food        0.09       A  0.88
#1  Drugstore        0.21       A  0.88
#2    Walmart        0.35       A  0.88
#3     Target        0.23       A  0.88
#4       Food        0.13       B  0.73
#5  Drugstore        0.13       B  0.73
#6    Walmart        0.25       B  0.73
#7     Target        0.22       B  0.73

df['Repercentaged'] = df['Multiplied']/df['Sum']

完美的现在我将更彻底地研究转换函数,看看我还能用它做些什么。我感谢你的帮助@劳伦:没问题。如果需要,实际上可以不创建sum列。我更新了那个案例的答案。这很好——就我而言,不需要求和栏。