「数据挖掘入门系列」Python快速入门
Python环境搭建
本次入门系列将使用Python作为开发语言。要使用Python语言,我们先来搭建Python开发平台。我们将基于Python 2.7版本、以及Python的开发发行版本Anaconda版本来开发。
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。
下载地址:
https://www.anaconda.com/distribution/,注意要下载2.7版本
下载好Anaconda安装包后,即可安装,安装好后,我们可以来测试下Python环境是否已经搭建好。
Python语言入门
本小节将简单介绍Python语言,此处不会涉及过多的Python语言细节。例如:面向对象之类。此处主要介绍后续学习数据挖掘过程中会使用到的语法。
Hello Python
此案例将在控制台上打印 Hello, Python。
1、创建一个文本文件,并命名为hello_python.py
2、编写以下内容
# 打印字符串 print 'hello, python'
3、在命令行中执行命令 python hello_python.py
多重赋值
Python中支持多重赋值
# -*- coding: utf-8 -* # 多重赋值 zhangsan, lisi, wangwu = u'张三', u'李四', u'王五' print zhangsan, lisi, wangwu
注意:
- 在python中要使用中文,需要在文件头上加入 # -*- coding: utf-8 –*
- 字符串应该使用 u开头
条件判断
python条件判断可以使用 if …. elif … else,但逻辑条件使用 and、or。Python一般不使用花括号,而使用缩进对齐来作为区分。参考以下代码:
''' 案例三: 定义变量 username 和 password 1. 如果 username 为 abc,且password为 123, 打印 正确 2. 如果 username 不为 abc,打印用户名错误 3. 如果 password 不为 123,打印密码错误 ''' username = 'abc' password = '123' if username == 'abc' and password == '123': print u'正确' else: if username != 'abc': print u'用户名错误' else: print u'密码错误'
for循环
# 打印 1-10之间的数字 for i in range(1, 11): print i
函数
在Python可以使用def或者lambda表达式来定义函数:
# 定义一个函数计算两个数字的和 def add(a, b): return a + b # 调用函数 print add(1, 1) print '==' * 10 # 使用 lambda表达式定义函数 add_lambda = lambda x,y: x + y print add_lambda(1, 1)
集合
以下代码演示列表、元组、字典的使用
# 定义列表 list1 = [1,2,3,4,5] # 定义元组 tuple1 = (1,2,3,4) # 定义字典 dict1 = {'zhangsan':20, 'lisi': 30} print list1 print tuple1 print dict1
注意:元组的元素是不可以被修改的。
可以使用 []来访问集合的元素
函数式编程
Python支持函数式编程,编写起来也很方便
# 函数式编程 # 1. 初始化一个集合,包含数字从1-10 list2 = range(1, 11) # 2. 对每一个数字 +1 list3 = map(lambda n:n+1, list2) print list3 # 3. 过滤集合中所有能够整除2的数字 list4 = filter(lambda n: n%2==0, list2) print list4
使用库函数
Python中需要使用到外部的函数,可以使用import关键字来导入库函数
# 导入库 import math print math.pi print math.sin(1) # 给math库取一个别名 import math as m print m.pi
添加第三方库
要使用Python进行数据挖掘开发,需要提前安装第三方库。Python中有非常丰富的第三方库。使用以下方式可以非常简便地安装第三方库。
使用pip安装。以下将演示使用pip来安装各类数据分析工具。
Numpy
Numpy实现了真正的数组功能。很多高级的库都依赖该库。我们可以使用pip来安装它。
pip install numpy