数据科学导论课件第二章Python入门.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据科学导论课件第二章Python入门.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 科学 导论 课件 第二 Python 入门
- 资源描述:
-
1、1数据科学导论第二章 Python 入门2主要内容一 Python 简介二 安装和运行三 试试Python 编程四 Numpy 模块五 Pandas 模块六 Matplotlib 模块3一 Python 简介Python 简介45Python和R的异同管理和运行模型 R有统一的志愿团队管理,语法相对一致,安装程序包很简单 Python 是一个通用软件,没有统一团队管理,针对不同Python 版本的模块非常多.不同的计算机操作系统,不同版本的Python,不同的模块,安装过程多种多样,相对复杂.统计模型 R 主要用于数据分析,有统计背景的人员会更加偏爱.Python 的统计模型不如R 那么多,但
2、从其基本语法所产生的成千上万的模块使得它可以做几乎任何想做的事情.6二 Python安装和运行安装及开始体验在多种运行平台中,建议使用Anaconda 下载Python Navigator 4,以获得Jupyter,RStudio,VisualStudio Code等软件界面,然后运行Python程序.Anaconda 运行优势:包含常用的模块Numpy,Pandas,Matplotlib,而且安装其他一些模块(比如Sklearn)比较方便.本书中Python 的介绍是基于Anaconda 的notebook 运行Python3 的实践.7Anaconda的安装 1.进入Anaconda官网下
3、载:https:/ 2.下载完直接双击运行即可,注意环境变量设置页即可.9Anaconda测试 安装完Anaconda 后,就可以在开始菜单栏中运行Jupyter Notebook 了.也可以通过终端键入cd Python Work 到达工作目录,再键入jupyter notebook 在默认浏览器产生一个工作界面(称为“Home”).10Jupyter Notebook11创建一个新的.ipynb文件 点击右上角New 并选择Python3,则产生一个没有名字的(默认是Untitled)以.ipynb 为扩展名的文件.出现In :标记,在其右边的框中输入代码,然后得到的结果就出现在代码(代码
4、所在的框称为“Cell”)下面的地方.12输入和输出测试 在Cell中 输入 3*Python is easy!Ctrl+Enter 输出 Python is easy!Python is easy!Python is easy!一个Cell 中,可以一行输入几个简单(不分行的)命令,用分号分隔.要注意,Python 和R 的代码一样是分大小写的.Python 与R 的注释一样,在#号后面的符号不会当成代码执行.13查看和修改工作目录 import os print(os.getcwd()#查看目录 os.chdir(D:/Python work)#Windows系统中改变工作目录 os.ch
5、dir(/users/Python work)#OSx系统中改变工作目录14查看文件路径 import os from os.path import join for(dirname,dirs,files)in os.walk(/users/work/):for filename in files:if filename.endswith(.csv):thefile=os.path.join(dirname,filename)print(thefile,os.path.getsize(thefile)1516三 试试Python 编程试试Python 编程 Python 中的向量、矩阵、列表或
6、其他多元素对象的下标是从0 开始,请输入下面代码并看输出:y=1,2,1,2,3,ss,swa,stick y2,y2:2,y11:x=A poet can survive everything but a misprint.x:10+x10:20+x20:30+x30:40+x40:17首尾连接的下标区间append,extend 和pop x=1,2,3,5,7,Oscar Wilde y=save,the world x.append(y);print(x)x.extend(y);print(x)x.pop();print(x)x.pop(2);print(x)18关于remove 和d
7、el print(2*0.5,2.0*(1/2),2*(1/2.)print(4/3,4./3)x=0,1,4,23 x.remove(4);print(x)del x0;print(x,type(x)19关于tuple x=(0,12,345,67,8,9,we,they)print(type(x),x-4:-1)x=range(2,11,2)print(x=,list(x)=.format(x,list(x)print(type of x is.format(type(x)20dictionary(字典)类型 data=age:34,Children:1,2,1:apple,zip:NA
8、print(type(data)print(age=,dataage)dataage=99 dataname=abc print(data)21集合运算x=set(we,you,he,I,they);y=set(I,we,us)x.add(all);print(x,type(x),len(x)set.add(x,none);print(x)print(set.difference(x,y)=,set.difference(x,y)print(set.union(x,y)=,set.union(x,y)print(set.intersection(x,y)=,set.intersection(x
9、,y)x.remove(none);print(x=,x,n,y=,y)22Id 函数 x=1;y=x;print(x,y,id(x),id(y)x=2.0;print(x,y,id(x),id(y)x=1,2,3;y=x;y0=10 print(x,y,id(x),id(y)x=1,2,3;y=x:print(x,y,id(x)=id(y),id(x0)=id(y0)print(id(x1)=id(y1),id(x2)=id(y2)23函数的简单定义 def f(x):return x*2-x g=lambda x:max(x*2,x*3)print(list(map(lambda x:x*
10、2+1-abs(x),1.2,5.7,23.6,6)print(f(10),g(-3.4)print(list(range(-10,10,2),n,list(filter(lambda x:x0,range(-10,10,2)24注意函数中的符号和缩进25在python 中,函数,类,条件和循环等语句后面有冒号“:”.而随后的行,要缩进确定数目的若干空格,和R 中的花括号作用类似.循环和条件的例子#例1 for line in open(UN.txt):for word in line.split():if word.endswith(er):print(word)26循环和条件的例子#例2w
11、ith open(UN.txt)as f:lines=f.readlines()lines1:20#例3x=Just a wordfor i in x:print(i)27循环和条件的例子#例例4 for i in x.split():print(i,len(i)#例例5 for i in-1,4,2,27,-34:if i0 and i15:print(i,i*2+i/.5)elif i5:print(abs(i)else:print(4.5*i)28关于listx=range(5)y=for i in range(len(x):if float(i/2)=i/2:y.append(xi*2
12、)print(y,y)z=xi*2 for i in range(len(x)if float(i/2)=i/2print(z,z)2930四 Numpy 模块Numpy 模块 Numpy 是高性能科学计算和数据分析的基础包;它是pandas等其他工具的基础。内容包括:强大的N维数组对象Array;比较成熟的函数库;用于整合C/C+和Fortran代码的工具包;实用的线性代数、傅里叶变换和随机数生成函数等。31Numpy 模块 导入模块:import numpy,凡是该模块的命令(比如array)都要加上 numpy 成为numpy.array.简写形式:输入时敲入 import numpy
13、as np numpy.array np.array.32数据文件存取 import numpy as np x=np.random.randn(25,5)np.savetxt(tabs.txt,x)#存成制表符分隔的文件 np.savetxt(commas.csv,x,delimiter=,)#存成逗号分隔的文件(如csv)u=np.loadtxt(commas.csv,delimiter=,)#读取逗号分隔文件 v=np.loadtxt(tabs.txt)#读取逗号分隔文件33矩阵和数组import numpy as npy=np.array(1,4,7,2,5,8,3,6,9,10,10
14、0,1000)print(y)print(np.shape(y)print(type(y),y.dtype)print(y1,0,0,y0,1,:)34整形和浮点型数组(向量)运算import numpy as npu=0,1,2;v=5,2,7u=np.array(u);v=np.array(v)print(u.shape,v.shape)print(u+v,u/v,np.dot(u,v)u=0.0,1,2;v=5,2,7u=np.array(u);v=np.array(v);print(u+v,u/v);print(v/3,v/3.,v/float(3),(v-2.5)*2)35向量和矩阵
15、的运算x=np.arange(3,5,.5)y=np.arange(4)print(x,y,x+y,x*y)#向量计算向量计算print(x:,np.newaxis.dot(ynp.newaxis,:)print(np.shape(x),np.shape(y)print(np.shape(x:,np.newaxis),np.shape(ynp.newaxis,:)print(np.dot(x.reshape(4,1),y.reshape(1,4)x.shape=4,1;y.shape=1,436向量和矩阵的运算 print(x.dot(y);print(np.dot(x,y)print(np.
16、dot(x.T,y.T),x.T.dot(y.T)#x.T是是x的转的转置置 print(x.reshape(2,2).dot(np.reshape(y,(2,2)x=2,3,7,5 z=np.asmatrix(x)print(z,type(z);print(z.transpose()*z)print(z.T*z=z.T.dot(z),z.transpose()*z=z.T*z)print(np.ndim(z),z.shape)37按行或列合并矩阵 x=np.array(1.0,2.0,3.0,4.0)y=np.array(5.0,6.0,7.0,8.0)z=np.concatenate(x,
17、y),axis=0)z1=np.concatenate(x,y),axis=1)print(z,n,z1,n,z.transpose()*z1)z=np.vstack(x,y)#Same as z=concatenate(x,y),axis=0)z1=np.hstack(x,y);print(z,n,z1)38数组赋值 print(np.ones(2,2,3),np.zeros(2,2,3),np.empty(2,2,3)x=np.random.randn(20).reshape(2,2,5);print(x)x=np.random.randn(20).reshape(4,5)x0,:=np.
18、pi;print(x)x0:2,0:2=0;print(x)x:,4=np.arange(4);print(x)x1:3,2:4=np.array(1,2,3,4);print(x)39行列序列的定义 这里np.c_0:10:2 是从0 到10,间隔2 的列(c)序列,而np.r_1:5:4j 是从1到5,等间隔地分为4 行的(r)序列.print(np.c_0:10:2,np.c_0:10:2.shape)print(np.c_1:5:4j,np.c_1:5:4j.shape)print(np.r_1:5:4j,np.r_1:5:4j.shape)40抽取数组(矩阵)的子数组print(np
19、.ogrid0:3,0:2:.5,n,np.mgrid0:3,0:2:.5)print(np.ogrid0:3:3j,0:2:5j,n,np.mgrid0:3:3j,0:2:5j)x=np.reshape(np.arange(25.0),(5,5)print(x=n,x)print(np.ix_(np.arange(2,4),0,1,2)=n,np.ix_(np.arange(2,4),0,1,2)41抽取数组(矩阵)的子数组print(ix_(2,3,0,1,2)=n,np.ix_(2,3,0,1,2)print(xnp.ix_(np.arange(2,4),0,1,2)=n,xnp.ix_
20、(np.arange(2,4),0,1,2)print(xix_(3,0,1,4,2)=n,xnp.ix_(3,0,1,4,2)print(x2:4,:3=n,x2:4,:3)print(xix_(0,3,0,1,4)=n,xnp.ix_(0,3,0,1,4)42向量和数组的数学运算x=np.random.randn(3)print(np.round(x,2)=,np.round(x,4)=.format(np.round(x,2),np.round(x,4)print(np.around(np.pi,4)=,np.around(np.pi,4)print(np.around(x,3)=,np
展开阅读全文