So i have a data like this
Category | subcategory | crn | product1 | product2 | product3 | product4 | product5 | product6 | product7 |
---|---|---|---|---|---|---|---|---|---|
A | X | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
A | Y | 1 | 1 | 1 | 1 1 | 1 | 1 | 1 | |
A | Z | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
B | X 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
And i want to showcase output like this
Category | subcategory | crncount | topproduct1 | topproduct2 | topproduct3 | topproduct4 | topproduct5 | sumofproduct1 | sumof product2 | sumofprduct3 | sumofproduct4 | sumofprodct5 | sumofproduct6 | sumofprodct7 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A | x | 1 | product3 | product2 | product4 | product5 | product6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
A | y | 1 | product3 | product4 | product5 | product6 | product7 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
B | x | 1 | product1 | product3 | product4 | product5 | product6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
B | y | 1 | product3 | product2 | product4 | product5 | product6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
I have tried this code df.groupby([category, subcategory)] group.agg({crn: count, product1:sum, product2:sum, product3:sum......)
Topproduct = df.iloc[:,1:].sum().nlargest(5).index.tolist()