总计的分组依据百分比

时间:2019-12-02 19:16:16

标签: python pandas numpy group-by

我正在尝试按地区分组,并从总产品中找到产品1,产品2和产品3的百分比。

这是代码

a = df_2018.groupby(['ISIC4_ARABIC']).agg({'product1': ['sum'], 'product2': ['sum'], 'product3': ['sum']})

所以最终我将有product1,product2和product3占总产品的百分比,总产品有数量。

下面是数据框的图像

2 个答案:

答案 0 :(得分:2)

使用:

cols=['produc1','product2','product3']
a[cols]=a[cols]/a[cols].sum(axis=1)

答案 1 :(得分:1)

IIUC:

s = a.iloc[:, 1:]
a.iloc[:, 1:] = s.div(s.sum(1), axis='rows')

输出(a):

  region  product1  product2  product3
0     CA  0.333333  0.333333  0.333333
1     MN  0.500000  0.250000  0.250000
2     OH  1.000000  0.000000  0.000000
3     NY  0.714286  0.142857  0.142857