![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 75
mez_Blog
寸边而
展开
-
整体消费趋势分析
介绍两个数据分析思路,三个数据分析方法和一个数据可视化工具:1)分析思路2)统计值分析法3)分布分析法4)对比分析法5)Seaborn 绘图做数据分析,最主要的目标是为了发现问题,定位原因,然后解决问题,最后验证效果。整体趋势分析,它的主要目的是为了发现问题。不管是已知的问题,还是并未知的问题,都需要在解决问题之前,研究一下现状,看看事实上到底是哪里存在问题,存在什么样的问题,我要分析的问题到底是不是真的是一个问题。我们研究现状、发现问题时,采用同一个逻辑和方法,可以让我们的..原创 2022-03-07 10:43:07 · 2497 阅读 · 0 评论 -
数据展现(练习)
## 导入 pandas 库并将其简化为 pdimport pandas as pd## 导入matplotlib库的pyplot模块from matplotlib import pyplot as plt### 读取练习数据,文件路径为 './工作/exercise_clean.csv',文件编码为 'utf-8'exercise = pd.read_csv('./工作/exercise_clean.csv', encoding = 'utf-8')## 求出不同明细商品的总销...原创 2022-03-06 10:22:06 · 1062 阅读 · 1 评论 -
图表优化(扩展)
从四个部分进行拓展👇:1)设置字体样式2)优化折线图样式3)优化柱状图样式4)保存画布2. 设置字体样式将思源黑体字体添加到 matplotlib 的字体库中。# 导入matplotlib库的pyplot模块from matplotlib import pyplot as plt# 设置中文字体plt.rcParams['font.family'] = ['Source Han Sans CN']要知道一种字体就有很多样式,包括字体类型、字体大小、字体粗...原创 2022-03-06 09:55:11 · 493 阅读 · 0 评论 -
RFM模型(扩展)
知识一:df.map() 方法我们先来看一下下面这个问题。现在想继续处理第 6 题中的某男子私立大学三名延毕学生数据,因为学校有规定挂科次数和旷课次数加起来超过 50 次的会开除学籍。现在我们不想看到总次数,而是想把大于 50 次的次数换成开除,其他的换成延毕,如下图:我们可以用 df.replace() 方法解决,代码如下:# 某男子私立大学三名延毕学生数据df_6 = pd.DataFrame({'姓名': ['零某某', '徐放牛', '文学'], .原创 2022-03-06 09:18:17 · 760 阅读 · 0 评论 -
电商客户价值细分 - RFM 模型(中)
4.1 RFM 模型的概念RFM 模型是一个传统的数据分析模型,沿用至今约 60 年。1961 年,乔治·卡利南在顾客的资料库中指出,最近一次消费、消费频率、消费金额三项数据可以较为客观地描绘顾客的轮廓。企业针对近期有消费的“新客”、消费频率高的“常客”、消费金额高的“贵客”进行精准营销和广告投放,确实收到了意料之外的惊喜。因此,这三项数据成为了衡量客户价值和客户创利能力的重要工具和手段。也是 RFM 模型的三个重要指标:1)R(Recency):最近一次消费时间间隔原创 2022-03-05 10:50:10 · 3896 阅读 · 1 评论 -
电商客户价值细分 - RFM 模型(上)
3.1数据的读取与写入在我们日常生活中,除了csv格式的文件外,我们更多会使用文件名后缀为'.xlsx',包含多个工作表的Excel文件。对这列文件进行数据分析的过程中,同样少不了数据的读取和写入操作。那么,是否有类似read_csv()、to_csv()的函数的函数,可以对工作簿文件进行数据的操作呢?答案是有的,pandas库提供了read_excel()函数读取Excel数据,一级to_excel()函数讲数据写入到Excel文件。2.1.1 read_excel函数首先是rea原创 2022-03-05 10:14:20 · 797 阅读 · 0 评论 -
群发推广邮件
1. 情境问题康康是一名销售经理,每到新产品上线的时候,他一天需要发送上千封关于新产品介绍的邮件给潜在的用户。因为每个邮箱账号一天发送邮件的数量和单次群发邮件的数量都有上限,所以他就需要每个发件邮箱账号发送多次,并切换多个发件邮箱账号才能完成邮件群发工作。不同的发件邮箱账号的限制不同,为了便于理解与实操,本案例假设康康一天需要发送 9 封邮件,一个发件邮箱账号一天最多发送 6 封,单次群发邮件最多 3 封,图片示例以 qq 邮箱为例。单次发送成功结果如下图:实现这个结果,原创 2022-02-22 10:47:27 · 803 阅读 · 0 评论 -
计算车间每日产量达标率
1. 情境问题大龙是一名产品质检员,每天下班前,他都要统计所有车间计划产量及每日产量。他把数据记录到【检验记录表模板.xlsx】工作簿并另存为【x月x日检验记录表.xlsx】工作簿,本案例以 8 月 25 日为例,结果如下图:接下来,我们分析一下这份工作任务,工作目标把【生产计划表.xlsx】工作簿和【工人产量日报表.xlsx】工作簿中对应的数据,复制或经过计算记录到【检验记录表模板.xlsx】工作簿中,最后另存为【8月25日检验记录表.xlsx】工作簿。平时他都原创 2022-02-22 10:07:35 · 1333 阅读 · 0 评论 -
openpyxl常用用法
openpyxl简介openpyxl是一个Python的实用第三方库,用户读取/写入后缀为xlsx / xlsm / xltx / xltm的Excel表格文件。 openpyxl官方文档 openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 3.0.9 documentation表格基本操作 导入openpyxl库 import openpyxl对工作簿操作原创 2022-02-21 09:48:33 · 2171 阅读 · 0 评论 -
os模块用法
一、简介os模块是Python内置的模块,它提供了多种操作系统的接口。通过os模块提供的操作系统接口,我们可以对操作系统里文件、终端、进程等进行操作。先附上官方文档的链接,可以点击查看:https://docs.python.org/zh-cn/3.8/library/os.html由于os模块比较接近操作系统的底层,很多功能对于我们来说并没有使用到。我们使用os模块,一般会用于对文件、文件路径进行操作,包括但不限于查看文件路径、拼接文件路径等。接下来我将给大家讲解os模..原创 2022-02-20 10:38:18 · 2256 阅读 · 0 评论 -
Python学习笔记(高效办公)
首先是openpyxl库,我们先回顾一下三个概念:关于Excel的三个概念:工作蒲(workbook),工作表(worksheet)和单元格(cell)。工作簿像一本小册子。而工作表像这本册子中一页一页的内容。单元格则是表格中的方块。在写代码前需要先导入模块,这样才能调用相应的方法。通过from...import...语句可以直接导入模块里的函数、类或变量。# 同时导入openpyxl模块中的load_workbook和Workbook方法from openpyxl impor原创 2022-02-20 10:29:46 · 2950 阅读 · 3 评论 -
用Python绘制条形图
1. 绘制条形图前面讲解了折线图的绘制,但是似乎不太能直观地看出每个季度下各个项目利润的差距。或许,我们可以画出如下的条形图来试试。代码改写我们已经知道,折线图的绘制需要创建LineChart对象来实现。那么,条形图的绘制该如何实现呢?条形图和折线图不同,需要创建的是BarChart对象。但是,画条形图与画折线图的过程是一致的,包括:图表绘制:确认图的类型,引用表格的数据,设置图在工作表的位置;图表信息和样式的优化:修改类别轴的标签,添加X轴、Y轴原创 2022-02-18 10:51:35 · 7541 阅读 · 0 评论 -
用Python绘制折线图(下)
3. 折线图信息及样式的优化完成上面的折线图绘制后,目前工作表的折线图应该是长这样的:这折线图存在一些问题:信息模糊;不清楚X轴、Y轴描述了什么数据;折线图的样式不是很美观。所以,还需要进行折线图信息及样式的优化,具体可分为三个步骤:修改类别轴的标签;添加X轴、Y轴的标题;修改折线图的样式。对比一下折线图优化前后的差别,我们可以看到有几个变化:折线图增加了X、Y轴的标题、修改了类别轴的标签,使得图的信息更清晰。另外,折线图的样式也进行了调整。那么,折线图信息及原创 2022-02-18 10:42:06 · 4163 阅读 · 0 评论 -
用Python群发邮件
我们需要将【小组销量排名表.xlsx】通过邮件发送给【组长邮箱.xlsx】中的各个组长。这里会学一个新的知识点——str.join(),通过它实现群发邮件的功能。2 群发邮件from openpyxl import load_workbookimport smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart# 设置邮箱账号account = inpu...原创 2022-02-18 09:45:27 · 3471 阅读 · 2 评论 -
用Python实现小组排名
我们要依据【等级一销售表.xlsx】和【销售总表.xlsx】对各小组进行优秀频次排名及平均销量排名,并将排名结果保存为【小组销量排名表.xlsx】,需要学习的新知识点有 2 个,分别是list.index()和dict.items()。我们要实现小组排名功能,可以拆解为以下 3 个小步骤,1)统计【等级一销售表.xlsx】中各个小组人员数量,并按照数量对各个小组做排序;2)统计并计算【销售总表.xlsx】中各个小组的平均销量,根据平均销量对各个小组做排序;3)创建新工作簿,写入表头“销售小...原创 2022-02-17 10:15:53 · 1166 阅读 · 1 评论 -
用Python实现等级划分
我们要开始学习如何做等级划分啦。要实现这一功能,还得学习 5 个新的知识点,分别是os.path.exists()、os.mkdir()、算术运算符 // 、%和cn2an.an2cn()在这一个功能中,我们需要将【销售总表.xlsx】按照销售排名拆分成【等级x销售表.xlsx】,并放置在【等级销售表】文件夹中,其中以120人为一个等级。根据项目概述中对等级划分功能的描述,可以总结成以下 3 个小步骤,他们分别是:1)新建一个【等级销售表】文件夹,用于存放生成的【等级x销售表.x..原创 2022-02-16 08:43:01 · 2512 阅读 · 0 评论 -
用Python做汇总排序
其中,新知识点分别为:str.split()、list.insert()、sum()、sorted()、lambda表达式和enumerate()。已知我们有了各个销售组的销售数据,需要生成一张【销售总表.xlsx】,并且计算出所有销售人员的销售总量。最后,还需要按“总计”列对所有销售人员进行排序。实现汇总排序功能的几个小步骤,他们依次是:1)打开【销售数据】文件夹,依次打开所有销售小组的销售数据表格,获取销售数据,再新建工作簿,将数据写进新表;2)在第二列新增“销售小组”列,写...原创 2022-02-15 11:22:14 · 1312 阅读 · 1 评论 -
用Python绘制折线图(上)
各个事业部需要在工作表中生成利润走势图,来分析利润走向。但是一共有52个部门,也就是需要给52个Excel表格绘图,同样的绘图操作要重复52遍,如果一个个操作实在浪费时间。还有绘制什么样式的图也需要琢磨一下。既然是分析利润的走势,那么选择折线图就可以更好地展示数据的变化趋势。代码实现:import osfrom openpyxl import load_workbookfrom openpyxl.chart import LineChart, Reference# ...原创 2022-02-14 10:09:19 · 6214 阅读 · 1 评论 -
模块导入与文件读写(下)
前面我们完成了对单个文件的读取:【会员总表.csv】文件;以及对多个文件的批量读取:【1级会员表.csv】文件、【2级会员表.csv】文件、【3级会员表.csv】文件。接下来要将各个等级的会员表信息录入到会员总表。虽然这项工作操作难度不高,但每天都要做,还是挺花时间的。能否用 Python 帮助晓薇解决这项重复性工作呢?题目要求实现功能:编写一段代码,将【各等级会员表】文件夹下所有的 csv 文件信息写入到【会员总表.csv】文件。输出结果:【会员..原创 2022-02-14 09:25:14 · 504 阅读 · 0 评论 -
模块导入与文件读写
模块的导入请你运行下方代码,获取【各等级会员表】文件夹下的所有文件名。# 导入 os 模块import os# 设置文件夹路径folder_path = './工作/各等级会员表/'# 获取所有文件名并打印file_names = os.listdir(folder_path)print(file_names)# 导入 os 模块 listdir() 函数from os import listdir# 设置文件夹路径folder_path = './工作/...原创 2022-02-13 10:42:55 · 394 阅读 · 0 评论 -
用Python 批量生成法务函
1. 情境问题小王是一名法务专员,工作中会处理所在公司的侵权事件并向侵权方发送法务函。他会按照【法务函模板.docx】 Word 文件给【封号名单.xlsx】工作簿中的每个封号人员生成一份法务函。实现这个结果,他需要手动将【封号名单.xlsx】工作簿中的封号人员的名字和微信号添加到【法务函模板.docx】Word 文件对应的位置上,并将【法务函模板.docx】Word 文件另存为新的文件。封号人员的人数有多少,他就得重复多少次。以第一个封号人员为例,实现过程如下图:...原创 2022-02-13 10:14:05 · 577 阅读 · 0 评论 -
用Python处理Word文档
目标文件夹内有多份 Word 文件 ——【xxx涨薪通告.docx】,我们需要在这些文档的末尾处添加公司的电子章与公司名称。这次的任务困难吗?手动操作起来其实很简单,无非就是先打开一个文档,接着在结尾处添加文字盖章:并且插入电子章图片,然后另起一行,添加公司名称闪光科技金融公司(Shining Fintech Company),将公司名称的字号设置为四号,字体加粗,右对齐;完成这些操作后,复制这些文字和图片,最后保存文档。接着就可以打开下一个文档,在文档的最后粘贴刚才的文字和图片,然原创 2022-02-11 13:07:11 · 2150 阅读 · 0 评论 -
用Python批量发送email
本次项目我们需要使用Python自动提取Excel中的内容,并按照固定的邮件形式发送到自己的邮箱。以下是我们要提取的Excel表格:原创 2022-02-08 21:18:46 · 3891 阅读 · 3 评论 -
用Python设置Excel样式
任务要求:将图片上面的Excel修改成下面的Excel表格样式。功能拆解根据我们刚刚的一番对比分析,需要调整的格式有:表格的列宽、单元格的颜色、对齐方式和边框。你可能会猜,是不是就要分成这四个功能块?其实不然,因为Python中的openpyxl库整合了一些“修改单元格样式”的功能,设置起来很有规律,所以无需分为四个功能分别实现。所谓整合,其实跟用Excel软件的工具栏处理非常类似,比如下面这个动图中展示的就是,选中单元格后,选择样式工具栏如“填充颜色”,再确认所需样式原创 2022-02-07 10:21:46 · 7962 阅读 · 6 评论 -
用Python实现数据筛选与匹配
下面我们将学习两个项目案例代码,分别解决Excel常见场景中的数据筛选问题和数据匹配问题。数据筛选要求我们在表中筛选出符合条件的数据。数据匹配需要我们在多个表之间匹配相关的数据。与之前一样,完成项目问题的代码,需要我们先分析数据筛选和数据匹配的需求,再找到对应知识点,确定代码的执行顺序,从而实现项目代码。案例一:数据筛选这个案例需要我们筛选出迟到人员的信息,来具体看看。在【10月考勤统计.xlsx】工作簿中,保存了公司一百名员工的迟到信息,这些信息包含了迟到时间和迟到次数。原创 2022-01-31 22:23:18 · 8834 阅读 · 2 评论 -
用Python实现表格读写
案例一:获取个人工资信息我们需要从【10月员工绩效表】中找到江宇的信息,然后写入【江宇工资信息表】中10月工资信息对应的行。实现代码:# 从openpyxl库导入load_workbook函数from openpyxl import load_workbook# 打开【10月员工绩效表】的工作簿,获取活动工作表performance_wb = load_workbook('./material/10月员工绩效表.xlsx')performance_ws = perform.原创 2022-01-30 11:01:22 · 1403 阅读 · 0 评论 -
Numpy基础(3.0)
合并数组合并数组也是最常见的操作之一,下表列举了常见的用于数组或向量合并的方法。函数 描述 np.append 内存占用大 np.concatenate 没有内存问题 np.stack 沿着新的轴加入一系列数组 np.hstack 堆栈数组垂直顺序(行) np.vstack 堆栈数组垂直顺序(列) np.dstack 堆栈数组按顺序深入(沿第3维) np.vsplit 将数组分解成垂直的多个子数组的列表 (原创 2022-01-27 11:09:41 · 1944 阅读 · 0 评论 -
Python学习笔记(进阶2.0)
字典遍历通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。1、遍历字典的所有key>>> info = {'name': 'xiaoming', 'age': 20, 'hometown': '广州'}>>> for i in info.keys():... print(i)... nameagehometown>>>2.遍历字典的左右value>>.原创 2022-01-21 11:12:39 · 1023 阅读 · 0 评论 -
Python学习笔记(6.0)
一、字典的基本概念字典是Python中一种常见的数据类型,用于存储具有映射关系的数据。成对的数据间的对应关系就属于映射关系。字典中的数据都是以键值对的形式存储,字典中的每个键都是唯一的,而每个键都会映射一个值。字典用{花括号}包裹。或括号里面包裹的是一个个用逗号隔开的“键值对”,键值对用冒号分开键和值。1.字典中键与值的数据类型简单说,字典的值可以是任意的数据类型,而键只能是不可变的数据类型。二、字典的简单操作1.字典值的获取字典名【键】语...原创 2022-01-21 10:19:51 · 1190 阅读 · 1 评论 -
Numpy基础(2.0)
获取数组中的部分元素除了通过指定索引标签来实现外,还可以通过使用一些函数来实现,如通过random.choice函数从指定的样本中随机抽取数据。import numpy as npfrom numpy import random as nra=np.arange(1,25,dtype=float)c1=nr.choice(a,size=(3,4))c2=nr.choice(a,size=(3,4),replace=False)c3=nr.choice(a,size=(3,4),p=a/np.原创 2022-01-20 11:19:16 · 1049 阅读 · 0 评论 -
Numpy基础(1.0)
在机器学习和深度学习中,图像、声音、文本等输入数据最终都要转换为数组或矩阵。如何有效地进行数组合矩阵的运算?这就需要充分利用Numpy。Numpy是数据科学的通用语言,而且与pytorch关系密切,它是科学计算、深度学习的基石。Pytorch中的Tensor与Numpy非常相似,他们之间可以非常方便的进行转换。为什么是Numpy?实际上Python本身含有列表(list)和数组(array),但对于大数据来说,这些结构是由很多不足的。由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。例如为了原创 2022-01-19 11:24:54 · 858 阅读 · 0 评论 -
Python学习笔记(7.0)
一、类(上)1.1类与对象类的概念我们可以把类想成一个Python类型,像1、2、3、4这些我们归为数字,“你好”、“hello”这些我们归为字符串,对一类东西的概括/抽象我们就叫做类。举例:可以看到,终端显示的结果为:<class 'int'>、<class 'str'>。class 在英文中是“类别”的意思,在编程中就代表类。这就表明它们虽各自值不同,但都分别属于整数(int)类、字符串(str)类。对象的概念刚刚说到,类是对一类事物...原创 2022-01-19 09:55:48 · 309 阅读 · 0 评论 -
Python学习笔记(8.0)
一、文件操作1.open()函数open()函数用于打开一个文件,并返回一个file对象(即文件对象)。使用该函数的语法:open(file,mode,encoding)。参数file:表示我们要打开的文件路径。参数mode:决定打开文件的模式,最主要的模式有:只读(r),写(w),追加(a)等。默认值为只读(r)参数encoding:表示文件的编码方式,一般为“utf-8”。参数mode并不是强制的,它有个默认值‘r’。也就是说,打开文件时,默认只读模式。当mode..原创 2022-01-18 10:47:05 · 1644 阅读 · 0 评论 -
Python学习笔记(进阶)
三元运算三元运算(三目运算),是对简单的条件语句的缩写,让代码更为简洁三元运算格式result = 值1 if 条件 else 值2# 如果条件成立,那么将“值1” 返回给result 变量,否则将“值2” 返回给result变量普通if-else语句# 普通if-elsea = 1b = 2if a > b: print(a)else: print(b)利用三元运算改写result=print(a) if a > b else pr原创 2022-01-18 09:58:54 · 403 阅读 · 0 评论 -
Python中如何处理常见的报错
1.首先是常见的语法错误。2.然后是基础语法中的常见异常。3.最后是操作文件过程中的常见异常,这部分也是重难点知识。这是我们在终端比较常见的报错信息:按照 Python 官方文档的定义,我们在终端见到的“错误消息”至少可以被分为两类:语法错误(syntax errors)和异常(exceptions) 。语法错误(syntax errors)是初学者最容易犯的错误,简单来说就是代码不符合 Python 的基本语法规范而导致程序出了问题。当你的代码完全符合 Python 的语法规范..原创 2022-01-17 12:02:49 · 2276 阅读 · 0 评论 -
Python学习笔记(小结)
函数与类什么是类呢?在Python的世界里,像1,2,3,4这些我们归为数字,“你好”、“hello”这些我们归为字符串;而在生活中,我们把鲤鱼、鲫鱼称为鱼,把香蕉葡萄统称为水果。像这样对一类的东西的概括或抽象我们就叫做类。什么是对象?刚刚说到,类是对一类事物的概括/抽象。那么反过来,这类东西里每一个单独的个体就属于对象。比如相对于水果这个类来说,其中的评估、香蕉就属于对象。那么类有什么用呢?我们要记住一点:类的作用主要就是作为模板来使用。假设我们在做一个稍微大一点的项目,其中包含很多个原创 2022-01-17 11:44:21 · 612 阅读 · 0 评论 -
爬取豆瓣网前一百名电影
网站爬取的流程图:实现项目我们需要运用以下几个知识点一、获取网页1.找网页规律;2.使用 for 循环语句获得网站前4页的网页链接;3.使用 Network 选项卡查找Headers信息;4.使用 requests.get() 函数带着 Headers 请求网页。二、解析网页1.使用 BeautifulSoup 解析网页;2.使用 BeautifulSoup 对象调用 find_all() 方法定位包含单部电影全部信息的标签;3.使用 Tag.text 提取序.原创 2022-01-16 11:13:27 · 1114 阅读 · 0 评论 -
同学录项目(Python)
题目要求:制作同学录小程序【并实现查找功能】,最终显示的结果如下:代码实现:# 定义同学录alumni = {}# 输入个人信息的函数def input_alumni(): name = input('请输入同学的姓名:') live = input('请输入同学所在城市:') telephone = input('请输入同学联系方式:') # 以元组的形式返回 return name, live, telephone# 同步个人信..原创 2022-01-15 11:34:39 · 1737 阅读 · 1 评论 -
人机对战小游戏
题目要求:如今除了字典外,我们已经学了Python编程中最基本的语法,也学了三种控制流(顺序结构,循环结构,分支结构),这些足以让我们实现一些简单的项目了,当然复杂的项目也是可以用最基本的语法实现,但是操作会繁杂且机械些。其实计算机运行的思路很简单的,它得到一个前提,再根据某些条件判断进行分支,最后根据你定下的公式进行运算得出结果。如果公式复杂,需要重复操作的话,就可以通过循环进行处理。光听会比较抽象,接下来我们通过一个小游戏项目来加深对编程的认知吧,这个小游戏就是【人机PK】。在这个小游戏项目中,原创 2022-01-15 11:09:07 · 2702 阅读 · 0 评论 -
猜数字小游戏
题目要求:需要创造一个猜数字小游戏,要求如下:1. 共有5次机会2. 电脑随机出题,数字在1-100之间3. 猜中目标数字,打印"猜中了"4. 猜错目标数字,提示"太大了"或者"太小了"代码实现:import random# 生成1到100之间的随机整数,作为答案target = random.randint(1, 100)for i in range(5): # 获取用户的答案 guess = int(input('请输入你猜测的数字:')) ..原创 2022-01-15 10:54:57 · 1893 阅读 · 0 评论