使用python集合进行EXCEL数据分析

作者: python测试开发 | 来源:发表于2019-10-29 17:16 被阅读0次

    使用python集合进行EXCEL数据分析

    标准库

    Python真正精彩的方面之一是它具有非常丰富的模块标准库 ,无需安装第三方模块即可进行一些复杂的编程。 如果您在系统上有效安装了python,则可以使用所有这些工具。

    集合

    图片.png

    此图显示了两类人:工程师和经理。 两组的交集是工程管理。

    >>> engineers = set(['John', 'Jane', 'Jack', 'Janice'])
    >>> managers = set(['Jane', 'Jack', 'Susan', 'Zack'])
    >>> engineering_management = engineers & managers
    >>> engineering_management
    {'Jack', 'Jane'}
    

    更复杂的问题

    图片.png

    假设您是一家公司的分析师并且非常精通Excel。 您知道如何编写公式,可以创建数据透视表等以进行出色的演示。

    一天遇到公司销售的大量数据:该数据集大约有1000行,并显示了一段时间内贵公司的所有销售数据。 营销部门有兴趣了解客户的购买方式。 您有兴趣回答以下问题:

    • 有多少顾客购买了鞋子?
    • 有多少客户购买了皮带?
    • 谁购买了鞋子但没有购买皮带?
    • 哪些客户购买了鞋子,皮带和衬衫?

    通常,您将开始在Excel中对数据进行排序和管理。 使用Excel的数据过滤器当然很简单,但是当您想要获得唯一的客户列表时,它们就会变得更具挑战性。 由于客户在一段时间内进行了多次购买,因此您必须对数据进行分类/数据透视,并执行其他过滤步骤。 假设您有生成报告和获取数据的方法,那么下次能否轻松重复? 您将如何向同事展示如何做?

    使用Python解决问题

    图片.png
    # -*- coding: utf-8 -*-
    # Author: dingtalk or wechat:pythontesting supoort q group 630011153 144081101
    # https://www.jianshu.com/u/69f40328d4f0
    # https://github.com/china-testing/python-api-tesing
    # https://china-testing.github.io/
    import csv
    
    f = open("sample-sales.csv",'rt')
    reader = csv.reader(f)
    shoes = set()
    belts = set()
    shirts = set()
    for row in reader:
            customer = (row[0],row[1])
            category = row[3]
            if category == "Shoes":
                    shoes.add(customer)
            if category == "Belt":
                    belts.add(customer)
            if category == "Shirt":
                    shirts.add(customer)
    f.close()
    
    print("%s customers have purchased shoes" % len(shoes))
    print("%s customers have purchased belts" % len(belts))
    print("%s customers have purchased shoes but not belts" % len(shoes - belts))
    print("%s customers have purchased shoes and belts" % len(shoes & belts))
    print("%s customers have purchases shoes and shirts" % len(shoes & shirts))
    print("%s customers have purchased shoes, belts and shirts" % len(shoes & belts & shirts))
    print("The following customers are our most valued. They have purchased shoes & belts & shirts:")
    for customer in shoes & belts & shirts:
            print(customer)
    

    该脚本比Excel解决方案更好的原因有很多:

    • 有用于创建文件的记录。 下次您需要运行此分析时,只需运行脚本即可。
    • 将其交给其他人为您运行。 无需做详细的文档来描述Excel中的步骤。
    • 如果数据随时间变化,并且您需要清理它,那么您将有一个良好的开端。
    • 解决方案可以扩展到很大的文件。 在成千上万的行上运行脚本不是问题。 我在一台非常低端的笔记本电脑上用不到20秒就在一个1M的行文件上运行了它。

    我希望这可以帮助您了解Python在业务环境中为您提供的强大功能。 这个非常简单的示例开始向您展示您的业务环境中使用Python的潜力。

    相关文章

      网友评论

        本文标题:使用python集合进行EXCEL数据分析

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