04.利用Python进行数据分析之Python控制流

liftword3周前 (04-08)技术文章4

04.利用Python进行数据分析之Python控制流

if、elif和else

# 检查条件,决定是否执行
a = 98
if a >= 60:
    print('及格')
及格

if后面可以跟一个或多个elif,所有条件都是False时,还可以添加一个else。

if a >= 90:
    print('优秀')
elif a >= 80:
    print('良好')
elif a >= 70:
    print('中等')
elif a >= 60:
    print('及格')
else:
    print('不及格')
优秀

如果某个条件为True,后面的elif就不会被执行。

# 当在条件中使用and和or时,复合条件语句是从左到右执行。
a = 1; b = 2; c = 3; d = 5
if a < b or c> d:
    print('Yes')
Yes

在这个例子中,c > d不会被执行,因为第一个比较是True。

# 可以把比较式串在一起
4 > 3 > 2 > 1
True

for循环

or循环是在一个集合(列表或元组)中进行迭代,或者就是一个迭代器。for循环的标准语法是: for value in collection: # do something with value

sum = 0
for i in range(0,101):
    sum += i
print(sum)
5050
  • continue - 可以用continue使for循环提前,跳过剩下的部分。
a = [1,2,3,None,4,5,6,None,7,8,9]
sum = 0
for i in a:
    if i is None:
        continue
    sum += i
print(sum)
45
  • break - 可以用break跳出for循环。
# 对a中的元素求和,遇到None则结束
sum = 0
for i in a:
    if i is None:
        break
    sum += i
print(sum)
6

break只中断for循环的最内层,其余的for循环仍会运行。如:

for i in range(0, 6):
    for j in range(0, 6):
        if j > i:
            print('\n')
            break
        print('* ', end='')
* 

* * 

* * * 

* * * * 

* * * * * 

* * * * * * 

集合或迭代器中的元素序列(元组或列表),可以用for循环将其方便地拆分成变量: for a, b, c in iterator: # do something

for a,b,c in [(1,2,3), (4,5,6), (7,8,9)]:
    print(a,b,c)
1 2 3
4 5 6
7 8 9

while 循环

while循环指定了条件和代码,当条件为False或用break退出循环,代码才会退出。

sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(sum)
5050

pass

pass是Python中的非操作语句。代码块不需要任何动作时可以使用(作为未执行代码的占位符)。

range

range函数返回一个迭代器,它产生一个均匀分布的整数序列。
range(10)
range(0, 10)
list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range的三个参数是(起点,终点,步进)

list(range(0, 100, 5))
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]
list(range(5,0,-1))
[5, 4, 3, 2, 1]

range产生的整数不包括终点。range的常用法是用序号迭代序列。

seq = [1, 2, 3, 4]
for i in range(len(seq)):
    val = seq[i]
    print(val)
1
2
3
4

可以使用list来存储range在其他数据结构中生成的所有整数,默认的迭代器形式通常是你想要的。下面的代码对0到99999中3或5的倍数求和。

sum = 0
for i in list(range(0, 99999)):
    if i % 3 == 0 or i % 5 == 0:
        sum += i
print(sum)
2333216669

虽然range可以产生任意大的数,但任意时刻耗用的内存却很小。

三元表达式

Python中的三元表达式可以将if-else语句放到一行里。语法如下: value = true-expr if condition else false-expr true-expr或false-expr可以是任何Python代码。

x = 90
'及格' if x >= 60 else '不及格'
'及格'



相关文章

极简Python数据分析入门:从工具准备到建模实战全攻略!

以下是一份极简Python数据分析入门指南,帮助新手快速掌握核心技能:1. 工具准备安装必备库:推荐使用 Jupyter Notebook(交互式编程环境)进行数据分析。2. 数据加载使用 panda...

三天带你轻松学会python数据分析基础,拿走不谢

Python应用广泛,尤其在数据处理方面功能强大,这本书讲述了数据的抓取、处理、可视化。【文末领取】获取方式:...

7天带你轻松学会python数据分析基础,拿走不谢

Python应用广泛,尤其在数据处理方面功能强大,这本书讲述了数据的抓取、处理、可视化。【文末领取】获取方式:...

「Python数据分析」Pandas基础,按照数据标签访问和操作数据

数据标签在Pandas中,相当于数据库中的主键。简单理解的话,就是唯一标识一行数据的值,也就是数据标签这一列数据当中,不能有重复值。就如同我们每个人的身份证号码一样,是不能有重复的号码的,否则就变成假...

进阶数据分析该怎么学习Python和SQL

1、先明白需求数据分析及运营管理是一种数据驱动的能力,而并非仅仅学学Python或者SQL这么简单。当然,我能理解你的意思,想学习数据分析工具。Python和SQL各有所长,搭配使用是最好的。2、如何...

python(pandas + numpy)数据分析的基础

数据 NaN 值排查,统计,排序data.isnull()data 是一个 dataframe 的结构np.sum(data.isnull())找到缺失值的总数data.sort_values()按照...