
作者 | CDA数据分析师
循环语句
1、for循环
For循环用来遍历任何序列的项目,这个序列可以是一个列表也可以是一个字符串,针对这个序列中的每个项目去执行相应的操作。
举一个例子,一个数据分析师的必修课主要有Excel、SQL、Python和统计学,你要想成为一名数据分析师,那么这四门课是必须要学的呃,且学习顺序也应该是先Excel,再SQL,然后Python,最后是统计学。依次学习这四门课的过程就是在遍历一个for循环。
2、while循环
While循环用来循环执行某程序,即当条件满足时,一直执行某程序,直到条件不满足时,终止程序。
举一个例子,七周成为数据分析师,即只要你按课程表学习七周,你就算是一名数据分析师了,可以去找工作了。这里就是以你是否已经学习了七周作为判断条件,如果学习时间没有达到七周,那么你就需要一直学,直到学习时间大于七周,你才可以停止学习,去找工作了。用while语句执行时的具体流程如下图所示:
下面为其实现代码:
条件语句
1、if语句
if条件语句是程序先去判断某个条件是否满足,如果该条件满足,则执行判断语句后的程序。If条件后面的程序需要首行缩进。
举一个例子,如果你好好学习数据分析师的必备技能,那么你就可以找到一份数据分析相关的工作,但是如果你不好好学习,那么你很难找到一份数据分析相关的工作。
我们用1表示好好学习,0表示没有好好学习,并赋初值为1,也就是假设你好好学习了。
当判断条件为是否好好学习时,具体流程如下图所示:
下面为其实现代码:
当判断条件为是否没有好好学习时,具体流程如下图所示:
下面为其实现代码:
因为条件不满足,所以执行if条件后面的程序,即输出为空。
2、else语句
else语句是if语句的补充,if条件只说明了当条件满足时程序做什么,没有说当条件不满足时程序做什么。而else语句正好是用来说明当条件不满足时,程序做什么。
当判断条件为是否好好学习时,具体流程如下图所示:
下面为其实现代码:
当判断条件为是否没有好好学习时,下面为其代码实现:
3、elif语句
elif语句可以近似理解成else_if,前面提到的if语句、else语句都只能对一条语句进行判断,但是当你需要读多条语句进行判断时,就可以用elif语句判断。
elif中可以有else语句,也可以没有,但是必须有if语句,具体执行顺序是先判断if后面的条件是否满足,如果满足则运行if为真时的程序,结束循环;如果if条件不满足时就判断elif语句。可以有多个elif语句,但是只有0个或者1个elif语句会被执行。
比如你要猜某个人考试考了多少分,你该怎么猜?先判断这个人是否及格(60分为准),如果不及格,分数范围直接猜一个小于60分的即可,如果及格了再去判断他的分数到底在哪个分数段,具体流程如下图所示:
代码实现如下图所示:
函数
函数是再一个程序中可以被重复使用的一段程序。这段程序是由一块语句和一个名称组成的,只要函数定义好以后,你就可以在程序中通过该名字调用执行这段程序。
1、普通函数
普通函数一般由函数名(必需)、参数、语句块(必需)、return、变量这几部分组成。
函数定义语法如下图所示:
定义函数使用的关键词是def,函数名后面的括号里面放参数(参数可以为空),参数后面要以冒号结尾,语句块要缩进四个空格,语句块是函数具体要做的事情。
定义一个名为learn_python的函数:
上面的函数利用函数名learn_python调用了多次learn_python对应的语句块。
函数的参数有形参(形式参数)和实参(实际参数)两种,在定义函数的时候使用的参数是形参,比如上面的location;在调用函数时传递的参数是实参,比如上面的地铁。
上面语句块中直接执行了print操作,没有返回值,我们也可以利用return对语句块的运行结果进行返回。
定义一个含有return的函数:
这次调用函数以后,没有直接进行print操作,而是将运行结果利用return进行了返回。
定义一个含有多个参数的函数:
2、匿名函数
匿名函数,顾名思义就是没有名字的函数,也就是省略了def定义函数的过程。Lambda只是一个表达式,没有函数体,lambda使用方法如下:
arg1,arg2,arg3表示具体的参数,expresion表示参数要执行的操作。
现在我们分别利用普通函数和匿名函数两种方式来建立一个两数相加的函数,让大家看看两者的不同。
普通函数如下:
匿名函数如下:
匿名函数比普通函数简洁的多,也是比较常用的,大家务必熟练的掌握。
高级特性
1、列表生成式
现在有一个列表,你需要对该列表中的每一个,你需要对该列表中的每个值求平方,然后将结果组成一个新列表,我们先看看普通方法怎么实现的。
普通方法实现如下:
列表生成式实现如下:
上面的需求比较简单,你可能没有领略到列表生成式的妙用。我们再来看一些复杂的需求。
现在有两个列表,需要把这两个列表中的值两两组合,我们分别用普通方法和列表生成式实现一下。
普通方法实现如下;
列表生成式实现如下:
上面的需求用普通的方法要嵌套两个for循环,但是用列表生成式只要一行代码即可。如果数据量很小,那么for循环嵌套运行速度还行;如果数据量很大的话,那么for循环嵌套太多的程序,运行就会变的很慢。
2、map函数
map函数的表现形式是map(function,agrs),表示对序列args中的每个值进行function操作,最终得到一个结果列。
map函数生成的结果序列不会直接把全部结果显示出来,要想获取到结果需要for循环遍历取出来。也可以使用list方法,将结果值生成一个列表。
模块
模块是升级版的函数,我们前面说过,在一段程序中可以通过函数名多次调用函数,但是必须在定义函数的这段程序里面调用,如果换到其他程序里该函数就不起作用了。
模块之所以是升级版的函数,是因为在任意程序中都可以通过模块名去调用该模块对应的程序。
你要调用函数首先需要定义一个函数,同理,你要调用模块,首先需要导入模块,导入模块的方法主要有两种。
数据分析领域用的比较多的三个模块分别是Numpy、Pandas、matplotlib,Python中还有很多类似的模块,正是因为这类模块的存在,使得Python变的很简单,受到越来越多人的欢迎。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10CDA 数据分析师:商业数据分析实践的落地者与价值创造者 商业数据分析的价值,最终要在 “实践” 中体现 —— 脱离业务场景的分 ...
2025-09-10机器学习解决实际问题的核心关键:从业务到落地的全流程解析 在人工智能技术落地的浪潮中,机器学习作为核心工具,已广泛应用于 ...
2025-09-09SPSS 编码状态区域中 Unicode 的功能与价值解析 在 SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案 ...
2025-09-09CDA 数据分析师:驾驭商业数据分析流程的核心力量 在商业决策从 “经验驱动” 向 “数据驱动” 转型的过程中,商业数据分析总体 ...
2025-09-09R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03