文章目录
1. 学习目标
- 了解 Python 语言的常用语句和语法
- 了解 Python 语言中常见的软件包(库)
2. 操作讲解
Python 语言诞生于上世纪 90 年代,并在最近的十多年里逐步成为炙手可热的一门编程语言。这主要是因为 Python 语言不仅书写语法简洁、自带函数丰富,而且还形成了良好的生态圈,人们为其打造了很多实用的科学软件包,被广泛应用于金融、经济学、数据科学和机器学习等领域。
也正是因为此,Python语言特别适合数据分析,它强大的功能将让你事半功倍。从这个项目开始,我们将使用一系列的实战任务,让你深刻理解 Python 语言在数据分析领域中的应用。在开始具体数据分析之前,我们要先回顾一下 Python 语言中常见的语句,和常用的软件包,确保你能顺利地完成后面的项目实战。
和多数编程语言一样,Python 也有变量的概念,这也是最基础的概念之一。请注意 Python 中变量是区分大小写的,x 和 X 表示不同的变量。下面这段代码展示了如何给变量赋值,以及两个变量之间的加和操作,最后使用 print 语句输出结果。
2.1 练习1
x = 5
y = 10
print(x + y)
print(x + Y)
最后一句 print(x + Y) 将会出错,因为之前只定义了变量 y,而没有定义变量 Y,两者是不同的。变量可以有不同的类型,主要有数值(整型、浮点型、复数、布尔型等)、字符串、列表、元组、字典、集合等。我们还可以使用 type() 函数来查看某个变量的类型。
x = 5
print(type(x))
y = 0.3
print(type(y))
z = True
print(type(z))
m = {}
print(type(m))
n = []
print(type(n))
2.2 练习2
其中字符串(string)类型需要重点讲一讲。Python 可以使用单引号,也可以使用双引号来定义一个字符串型的变量。下面的代码将一个字符串变量 unit 和数值变量 amount 合并输出了,其中 str() 将数值型转变为字符串型。
unit = 'YUAN'
amount = 10
print(str(amount) + " " + unit)
2.3 练习3
了解了变量的基本概念,然后我们来看看用于变量上的算术操作符,基础的包括加(+)、减(-)、乘(*)、除(/)、取模(%)和幂(**或者pow):
print(16 + 10)
print(16 - 10)
x = 16
y = 10
print(x * y)
print(x / y)
print(x % y)
print(x ** (y/5))
print(pow(x, y/5))
2.4 练习4
前面两个输出语句是直接在常量上进行算术操作,之后的输出语句是在变量上进行算术操作。
下一个是 Python 初学者容易混淆的 = 和 ==。一个等于符号表示赋值,而连续两个等于符号则是判断。例如下面的代码中,第一句是给变量 x 赋值,使其的值变为 5,而第二句是判断变量 x 是否等于 7,如果是则输出布尔值 True,否则就输出布尔值 False。
x = 5
print (x == 7)
2.5 练习5
除了使用 == 来判断是否相等,我们还可以使用 != 来判断是否不相等。
x = 5
print (x != 7)
2.6 练习6
而 >、< 、>=和<=用来判断是否大于、小于、大于等于和小于等于。
x = 5
print (x > 7)
print (x < 7)
print (x >= (1 + 3))
2.7 练习7
接下来是常用但是稍微复杂点的数据类型,列表。
你可以将列表看做若干个元素所组成的数组。在 Python 中字符串可以直接转换成字符组成的数组,而且元素的编号从 0 开始,也就是列表中第一个元素的编号是 0 而不是 1。另外,我们还能使用 -1 访问列表中最后一个元素、-2 访问列表中倒数第二个元素等等。
例如,下面的代码展示了字符串 “Jiker” 的第 1 个字符和第 4 个字符。
print('Jiker'[0])
print('Jiker'[4])
print('Jiker'[-1])
print('Jiker'[-2])
2.8 练习8
下面的代码定义并访问了一个列表结构,从中我们可以看出列表里可以放不同类型的元素,例如同时放入数值和字符串
x = [1, 3, '5', 7, '999']
print(x[0], x[2], x[4])
2.9 练习9
另一个常用,但是稍微复杂的数据类型是字典。
列表中的基本单位是单个的元素,而字典顾名思义,基本单位是键(Key)和值(Value)的映射,我们可以通过键来访问对应的值,例如下面代码所定义的这个字典,不仅键可以是不同的数据类型,值也可以是不同的数据类型。
x = {1: 'hello', 3:'python', '5':'data', 7:'analysis', '999': 0.98}
print(x[1], x['5'], x['999'])
2.10 练习10
了解完了常见的数据类型和以及在上面的操作,我们来看看 Python 中常见的条件语句、循环语句和函数。
首先是条件语句。
x = 5
if (x == 3):
print('x is 5!')
elif (x > 7) and (x < 10):
print('x is greater than 7 and less then 10')
else:
print('I don\'t know what value x is')
2.11 练习11
其中要注意 if, elif, else 后面的冒号,以及下一行的缩进,这是 Python 的格式要求。另外,在 ‘I don’t know what value x is’ 中,don’t 的 ’ 符号之前加入了转义符 \,表示这个 ’ 不是字符串的结束,而是文本内容。
除了条件语句,循环语句也很常见,可以替我们完成很多重复的步骤,例如访问列表中的每一个元素。
x = [1, 3, '5', 7, '999']
for each in x:
print(x)
y = {1: 'hello', 3:'python', '5':'data', 7:'analysis', '999': 0.98}
for each in y:
print(y)
2.12 练习12
其中,for each in 结构表示要访问列表或者字典中的每一个元素,同样请注意冒号和缩进格式。
最终是函数,它可以帮助我们设计模块化的代码。下面是一个函数的示例。
def time_three(x):
return x * 3
print(time_three(4))
2.12 小结
def定义了一个名为 time_three 的函数,它的功能就是返回输入参数 x 乘以 3 的值。同样,请注意冒号和缩进格式。语句 print(time_three(4)) 调用了函数 time_three,输入参数为 4,最终输出结果 12。
至此,我们非常快速地回顾了 Python 中常用的数据类型、变量、操作符、条件语句、循环语句和函数的知识点以及语法。它们相互之间还可以产生各种结合,用于完成更为复杂的功能,我们在之后数据分析的任务中详细讲解。请你先完成一个小练习,实现一个函数,判断一下输入的参数是否大于 10,如果大于 10,返回这个参数乘以 3 的结果,否则返回这个参数减去 2 的结果。
除了上述这些,本次任务的另一个目标是,带你了解 Python 还有哪些实用的软件包,这些软件包也是Python成为数据分析利器的重要原因之一,我们时常会用到它们。下面的列表整理出了实战营中会使用的软件包(库)的名称,以及其主要功能。
- NumPy:提供了多维数组对象,多种衍生的对象(例如隐藏数组和矩阵)和一个用于数组快速运算的混合的程序,包括数学、逻辑、排序、选择、I/O、离散傅立叶变换、基础线性代数、基础统计操作、随机模拟等等。
- Pandas:通过带有标签的行和列,让我们可以使用类似关系型数据表的方式来处理数据。它还能让我们毫不费力地从诸如 csv 、tsv 类型的文件中导入数据,并快速地对数据进行复杂的转换和过滤等操作。
- Matplotlib:从名字中 plot 这个词就可以看出,这个包是用于可视化的,通常用于二维图形的制作,在特定包的支持下也可以输出三维图形。它拥有一个方便的命令式界面,用来在 iPython 中快速作图,还包含一个面向对象的界面用来写脚本和制作复杂的图形。
- Statsmodels:一个功能强大的统计分析包,包含了回归分析、时间序列分析、假设检验等等。它不仅书写简便,还可以与 Python 的其他的包(如 NumPy、Pandas)有效地结合,大大提高了工作效率。
- Scikit-Learn:通常简称为 sklearn,这是一个非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用 scikit-learn 中可以极大地节省我们编写代码的时间并减少代码量,让我们可以有更多的精力来分析数据分布,调整模型和修改超参等。
如果你现在觉得这些包的内容过于丰富,一时半会无法掌握,也不用担心。我们后面会结合具体的任务实战,逐步讲解上述包的一些功能和用法。
如果觉得文章写不错,那就点个赞,点个收藏吧。