
大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧。本期内容主要由程茜与政委联合推出。
Python语句与我们熟悉的C、R等高级语言一样,程序由3种基本结构组成,分别是顺序结构、分支结构和循环结构。
顺序结构指的是做一件事情是按顺序完成每个步骤的。
例如请答题:请问把一头大象装进冰箱里的流程是什么?

对,就是打开冰箱,把大象装进去,最后关上冰箱。从这个例子中,大家应该从这个做法中理解了什么是顺序结构了吧!就是我们做分析的一个逻辑顺序。
例1
price1=float(input('请输入团购价'))
price2=float(input('请输入市场价'))
Z=price1/price2
print("折扣是",Z)
以计算某家火锅团购的打折力度这一顺序语句为例,该语句就是按照从上到下的顺序,一条语句一条语句的执行,是最基本的结构。
分支结构指的是根据条件判断结果而选择不同向前执行路径的一种运行方式。例如,每次做完团购活动以后,商家们都会复盘,看看本次营销效果如何。其中,购买人数自然是一个观测点。如果购买人数大于50人,说明还不错。否则,下次我们需调整团购方案,再接再厉!
例2
result=int(input('本次火锅团购购买人数?:(如果有请填写个数)'))
if result > 50:
print("本次活动营销效果好!")
else:
print("下次明天再接再厉")
这时有人又说50人就说效果好吗?一般般啦。于是老板说评价标准修改一下,大于150人,效果好;50人到150人之间都算一般,团购活动微调;50人以下,需要分析原因,活动内容还需再调研整改。这里面就涉及了多分支结构 if-elif-else,继续来段代码 实现一下。
例3
result=int(input('本次火锅团购购买人数多r了吗?:(如果有请填写个数)'))
if result >150:
print("效果好棒!")
elif 50<= result150:
print("活动内容微调")
else:
print('内容整改,再接再厉!')
在数据科学的实际项目中,经常会遇到很规律的重复操作,所以在程序中就需要重复某条语句。Python中常用for和while语句来完成循环。
for循环的格式:
这里的对象可以是字符串,列表,元组,字典,还可以是文件、range()函数等。
例如,我们需要把coupon数据集中的'团购活动ID'一个一个打印出来。
例4
for i in coupon['团购活动ID']:
print (i)
另外,for 循环经常和range函数一起使用,使用range()函数可以指定语句块的循环次数,基本使用方法如下:
for in range(初始值,终止值,步长):
继续上面的例子,把coupon数据集中的'团购活动ID'是偶数的打印出来。
例5
for i in range(0,len(coupon['团购活动ID']),2):
print(i)
for循环除了以上的常规操作,还可以与前面讲述到的列表结合一起用,可以使得语句更加简洁。下面给大家介绍一个省事的方法来做循环,列表生成式。列表生成式结构如下:
下面例子是通过列表生成式提取coupon数据集中的团购时间信息。
例6
coupon['到期时间']=pd.to_datetime(coupon['到期时间'])
coupon['到期时间'].dtypes
while循环所做的事和if语句类似,是去检查一个布尔表达式的真假。不一样的是它下面的代码块不是只被执行一次,而是执行完后再跳回while顶部,不停的重复,直到出现False为止。
语法:
while 条件或表达式:
语句...
else:
语句...
例如,计算10以内自然数之和。
例7
x=0;m=0
while x<11:
m+=x
x+=1
print(m)
好了今天就讲到这里。
作业:请大家导入shops_nm.xlsx数据,利用for循环语句把数据中的店铺信息存入一个列表中。