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

此图显示了两类人:工程师和经理。 两组的交集是工程管理。
>>> engineers = set(['John', 'Jane', 'Jack', 'Janice'])
>>> managers = set(['Jane', 'Jack', 'Susan', 'Zack'])
>>> engineering_management = engineers & managers
>>> engineering_management
{'Jack', 'Jane'}
更复杂的问题

假设您是一家公司的分析师并且非常精通Excel。 您知道如何编写公式,可以创建数据透视表等以进行出色的演示。
一天遇到公司销售的大量数据:该数据集大约有1000行,并显示了一段时间内贵公司的所有销售数据。 营销部门有兴趣了解客户的购买方式。 您有兴趣回答以下问题:
- 有多少顾客购买了鞋子?
- 有多少客户购买了皮带?
- 谁购买了鞋子但没有购买皮带?
- 哪些客户购买了鞋子,皮带和衬衫?
通常,您将开始在Excel中对数据进行排序和管理。 使用Excel的数据过滤器当然很简单,但是当您想要获得唯一的客户列表时,它们就会变得更具挑战性。 由于客户在一段时间内进行了多次购买,因此您必须对数据进行分类/数据透视,并执行其他过滤步骤。 假设您有生成报告和获取数据的方法,那么下次能否轻松重复? 您将如何向同事展示如何做?
使用Python解决问题

# -*- 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的潜力。
网友评论