作者 | 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
“最近复购率一直在下降,我们的营销力度不小啊,为什么用户还是走了?” “是不是广告投放的用户质量不高?还是我们的产品问题 ...
2025-02-21以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-19在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-18当数据开始说谎:那些年我们交过的学费 你有没有经历过这样的场景?熬了三个通宵做的数据分析报告,在会议上被老板一句"这数据靠 ...
2025-02-17数据分析作为一门跨学科领域,融合了统计学、编程、业务理解和可视化技术。无论是初学者还是有一定经验的从业者,系统化的学习路 ...
2025-02-17挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-17近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的, ...
2025-02-14一秒精通 Deepseek,不用找教程,不用买资料,更不用报一堆垃圾课程,所有这么去做的,都是舍近求远,因为你忽略了 deepseek 的 ...
2025-02-12自学 Python 的关键在于高效规划 + 实践驱动。以下是一份适合零基础快速入门的自学路径,结合资源推荐和实用技巧: 一、快速入 ...
2025-02-12“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩 ...
2025-02-08活动介绍 为了助力大家在数据分析领域不断精进技能,我们特别举办本期打卡活动。在这里,你可以充分利用碎片化时间在线学习,让 ...
2025-02-071、闺女,醒醒,媒人把相亲的带来了。 我。。。。。。。 2、前年春节相亲相了40个, 去年春节相亲50个, 祖宗,今年你想相多少个 ...
2025-02-06在数据科学的广阔领域中,统计分析与数据挖掘占据了重要位置。尽管它们常常被视为有关联的领域,但两者在理论基础、目标、方法及 ...
2025-02-05在数据分析的世界里,“对比”是一种简单且有效的方法。这就像两个女孩子穿同一款式的衣服,效果不一样。 很多人都听过“货比三 ...
2025-02-05当我们只有非常少量的已标记数据,同时有大量未标记数据点时,可以使用半监督学习算法来处理。在sklearn中,基于图算法的半监督 ...
2025-02-05考虑一种棘手的情况:训练数据中大部分样本没有标签。此时,我们可以考虑使用半监督学习方法来处理。半监督学习能够利用这些额 ...
2025-02-04一、数学函数 1、取整 =INT(数字) 2、求余数 =MOD(除数,被除数) 3、四舍五入 =ROUND(数字,保留小数位数) 4、取绝对值 =AB ...
2025-02-03作者:CDA持证人 余治国 一般各平台出薪资报告,都会哀嚎遍野。举个例子,去年某招聘平台发布《中国女性职场现状调查报告》, ...
2025-02-02真正的数据分析大神是什么样的呢?有人认为他们能轻松驾驭各种分析工具,能够从海量数据中找到潜在关联,或者一眼识别报告中的数 ...
2025-02-01现今社会,“转行”似乎成无数职场人无法回避的话题。但行业就像座围城:外行人看光鲜,内行人看心酸。数据分析这个行业,近几年 ...
2025-01-31