熊猫groupby并将行转换为列

礼来公司

我的销售数据集如下:df1

district      item       Year    salesAmount
Arba          pen        2019    10
Arba          pen        2019    20
Arba          pencil     2018    30
Arba          pencil     2018    30
Arba          pencil     2019    30
Cebu          pen        2019    100
Cebu          pen        2019    300
Cebu          pen        2018    100
Cebu          pen        2018    100
Cebu          pen        2019    100
Cebu          laptop     2019    20000
Cebu          laptop     2018    20000
Cebu          fruit      2019    200
Cebu          fruit      2018    800
Cebu          fruit      2019    800
Cebu          fruit      2018    100

我可以完成groupby并分别获得2018年和2019年每个产品的汇总金额。

result = df1.groupby(['district', 'item', 'Year'], as_index=False)['salesAmount'].sum()

但是我想像下面这样一个表格列来进行列的进一步转换

预期产量:

district      item       2018_sales    2019_sales
Arba          pen        0             30
Arba          pencil     60            30
Cebu          pen        500           200
Cebu          laptop     20000         20000
Cebu          fuit       900           1000

谢谢。

亚力山大

根据您先前对的计算result,只需使用数据透视表和一些额外的格式化步骤对其进行扩展。请注意,默认aggfuncpivot_table'mean',但考虑到这些值已在上一步中聚集也不会,如果你喜欢使用有所作为np.sum

result = (
    result
    .pivot_table(index=['district', 'item'], columns=['Year'], values='salesAmount', fill_value=0)
    .add_suffix('_sales')
    .reset_index()
)
result.columns.name = None
>>> result
  district    item  2018_sales  2019_sales
0     Arba     pen         0.0        30.0
1     Arba  pencil        60.0        30.0
2     Cebu   fruit       900.0      1000.0
3     Cebu  laptop     20000.0     20000.0
4     Cebu     pen       200.0       500.0

当然,您也可以忘记初始名称,groupby而直接执行以下操作pivot_table

result = (
    df1
    .pivot_table(
        index=['district', 'item'], 
        columns=['Year'], 
        values='salesAmount', 
        fill_value=0,
        aggfunc='sum'
    )
    .add_suffix('_sales')
    .reset_index()
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章