如何按列值分组

时间:2020-04-09 04:51:16

标签: numpy dataframe data-analysis dataexplorer

下面是我的数据:数据帧-df_AW17

Product ID  Season  Division    Brand   Category    Sub Category    AW16 (Sales)    AW17 (Sales)

Blazer 1    AW17    Men's Wear  Brand 1 Top BLAZER      198

Blazer 2    AW16    Men's Wear  Brand 1 Top BLAZER  138 

Blazer 2    AW17    Men's Wear  Brand 1 Top BLAZER      270

Blazer 3    AW17    Men's Wear  Brand 1 Top BLAZER      27

Blazer 4    AW17    Men's Wear  Brand 1 Top BLAZER      192

Blazer-10   AW17    Women's Wear    Brand 1 Top BLAZER      15

Blazer-11   AW16    Women's Wear    Brand 1 Top BLAZER  10  

Blazer-11   AW17    Women's Wear    Brand 1 Top BLAZER      14

Blazer-12   AW17    Women's Wear    Brand 1 Top BLAZER      16

Blazer-13   AW17    Women's Wear    Brand 1 Top BLAZER      207

Blazer-5    AW16    Women's Wear    Brand 1 Top BLAZER  126 

Blazer-5    AW17    Women's Wear    Brand 1 Top BLAZER      200

Blazer-6    AW17    Men's Wear  Brand 1 Top BLAZER      5

Blazer-7    AW17    Women's Wear    Brand 1 Top BLAZER      299

Blazer-8    AW17    Women's Wear    Brand 1 Top BLAZER      147

Blazer-9    AW17    Men's Wear  Brand 1 Top BLAZER      23

Jacket-10   AW17    Men's Wear  Brand 1 Top JACKETS     20

Jacket-11   AW17    Men's Wear  Brand 1 Top JACKETS     5

Jacket-12   AW16    Men's Wear  Brand 1 Top JACKETS 5   

Jacket-12   AW17    Men's Wear  Brand 1 Top JACKETS     12

Jacket-13   AW16    Women's Wear    Brand 1 Top JACKETS 15

它具有产品ID的值,我需要使用Season AW16,AW17和给定的AW16(销售),AW17(销售)作为新列来获得销售增长百分比。问题是我无法对公式进行分组或放置,因为“销售”的列值在特定产品ID的不同行中。

我试图做。

df_AW17['Sales Growth %'] = df_AW17.groupby(['Product ID'])(((df_AW17['AW17 (Sales)'] - df_AW17['AW16 (Sales)']) / df_AW17['AW16 (Sales)']) * 100)

我想要的结果是从产品ID的AW16年(销售)到AW17年(销售)的销售额增长百分比。

1 个答案:

答案 0 :(得分:0)

由于数据框中的所有行似乎都具有唯一的产品ID,创建新列之后执行的更简单的操作是否不能满足目的?

df_AW17['Sales_growth_pct'] = (df_AW17['AW17 (Sales)'] - df_AW17['AW16 (Sales)']) / df_AW17['AW16 (Sales)']
相关问题