美文网首页Python Pandas
利用Python模拟Excel数据透视表具有“值显示方式”功能

利用Python模拟Excel数据透视表具有“值显示方式”功能

作者: 数据人阿多 | 来源:发表于2021-04-04 23:46 被阅读0次

背景

Excel里面数据透视表可谓是功能强大,可以对数据进行去重,可以方便的对数据进行汇总,可以对数据从不同维度进行交叉分析等,而且速度还非常快,即使有几万行数据。

当然在Python里面也有数据透视函数,但是没有Excel这么灵活,比如今天要介绍的这种情况,在值里面要一列放聚合的求和,一列放聚合后的占比,这在Excel里面可以非常方便的利用数据透视表的功能 值显示方式 来解决,今天这篇文章利用 自定义函数 来实现这个功能。

模拟数据

模拟数据

需要类似Excel数据透视表的结果

Excel数据透视表

自定义函数

利用pandas的 pivot_table 函数可以实现求和功能,然后再让该列值除以总和来实现占比的功能

def pivot_percent(df, index, value, decimal=2):
    '''
    该函数 index、value 仅支持一个字段
    df: 传入整个数据框
    index: 维度
    value: 汇总的值
    decimal: 百分比保留的小数位数
    '''
    
    data_pivot = pd.pivot_table(data, values=value, index=index, aggfunc='sum')
    data_pivot['占比'] = data_pivot[value]/data_pivot[value].sum()
    data_pivot = data_pivot.sort_values(by=value, ascending=False)
    
    #添加总计行
    data_new = pd.DataFrame([[data_pivot[value].sum(), 1]],
                            columns=data_pivot.columns,
                            index=['总计'])
    data_result = pd.concat([data_pivot, data_new], ignore_index=False)
    
    #格式化百分比
    data_result['占比'] = data_result['占比'].map(lambda x: f'{x:.{decimal}%}')

    return data_result

jupyter notebook 完成代码

jupyter notebook

历史相关文章


以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货

相关文章

  • 利用Python模拟Excel数据透视表具有“值显示方式”功能

    背景 Excel里面数据透视表可谓是功能强大,可以对数据进行去重,可以方便的对数据进行汇总,可以对数据从不同维度进...

  • 数据透视表—高级应用

    创建数据透视表,插入,数据透视表,右击经典显示, 1.值显示方式 金额列任意数字单元格,右击值显示方式,汇总百分比...

  • #E战到底# 数据透视高级应用

    一、值显示和方式(自动计算占比和排名) 已有数量金额 在数据透视表中拖动数量和金额到数据透视表中–右击–值显示方式...

  • 打卡24天

    今天学习了 数据透视高级应用 一、值显示方式 1、计算占比:拖拽数据透视表的计算处理区域到”值”—右键值显示方式—...

  • E战到底-数据透视表高级用法

    今天学习数据透视表高级用法 一、值显示方式 点击数据透视表右键,选择值显示方式,可以根据您的需要对表总计的百分比...

  • Excel‖数据透视表的高级应用

    学会数据透视表,轻松分析更高效! 今天我们讲讲数据透视表中其他几个应用: 值显示方式、条件格式、切片器、数据透视图...

  • 数据透视表,一篇就够了

    | 这一篇文章助你学懂数据透视表 目录: 一、创建数据透视表 二、数据透视表字段列表 值的显示方式 三、分析 1、...

  • 20.数据透视表的高级应用

    一、 强大的值显示方式 A. 更改值显示方式 a) 选择数据透视表中需要更换值显示方式的任意单元格,按右键,选择值...

  • 数据透视表&

    数据透视表的高级应用 1、值显示和方式(自动计算占比和排名) (1)在数据透视表中再拖动数量和金额到数据透视表中→...

  • Excel第六讲:认识数据透视表

    1、Excel创建数据透视表:选中任意一个单元格——插入——数据透视表——右击数据透视表选项--显示——勾选“经典...

网友评论

    本文标题:利用Python模拟Excel数据透视表具有“值显示方式”功能

    本文链接:https://www.haomeiwen.com/subject/lrcrkltx.html