数据挖掘与分析_第1页
数据挖掘与分析_第2页
数据挖掘与分析_第3页
数据挖掘与分析_第4页
数据挖掘与分析_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据挖掘与分析,数据处理过程,数据获取和收集从数据源获取:,FromExcelimportpandasaspdimportnumpyasnpdata1=pd.read_excel(”filename.xlsx)#使用pandas读取excelFromCSV#ocding:utf-8importnumpyasnpimportpandasaspddf00=pd.read_csv(20161009.csv,delimiter=;)From网页:urlliburllib2httplibhttplib2importurllibimportredBytes=urllib.request.urlopen(http:/aaa.bbb.ccc/page).read()dStr=dBytes.decode()#在python3中urllib.read()语句功能是将dBytes转换成Strm=re.findall(正则解析表达式,dStr),例如:利用正则表达式解析表格内容,获取并连接:,#coding:utf-8importnumpyasnpimportpandasaspdprint=lcsv=lcsv.append(pd.read_csv(20161009.csv,delimiter=;,names=date,val,name,cop,acter,directer,type)lcsv.append(pd.read_csv(20161016.csv,delimiter=;,names=date,val,name,cop,acter,directer,type)lcsv.append(pd.read_csv(20161023.csv,delimiter=;,names=date,val,name,cop,acter,directer,type)lcsv.append(pd.read_csv(20161030.csv,delimiter=;,names=date,val,name,cop,acter,directer,type)print-nf=pd.concat(lcsv)printnf,原理与要点:Concat的参数是一个“列表”扩展:利用OS,浏览目录,获得FilenameList,利用遍历FilenameList,打开多个文件,数据整理例如:整理、去空、去重、合并、选取、数据准备:,重要准备:index,header,columns,显示各要素:显示索引显示列名显示数据的值显示数据描述,数据清洗和整理例如:去空、去重、合并、选取、数据准备:,显示各要素:显示索引df.index显示列名df.columns显示数据的值df.values可以重构一个DataFrame扩展:rdf=pd.DataFrame(data,index=inxlst,columns=colst)显示数据描述df.describe,简报,数据清洗和整理去空、处理缺失:,isnull(),notnull()#测试空(notnull)值,返回True,Falsedropna()#dropna(axis=1,how=all),按列删除allNa,缺省为axis=0,即按行df.fillna()#填充,inpalce,不产生副本#fillna(0)填充0,fillna(c1:v1,cx:vx)利用字典x列填充v#可以利用函数:mean、random.randon等等,数据清洗和整理去重:,duplicated()#测试重值,返回True,Falsedrop_duplicates()#填充,inpalce,不产生副本#可利用列名列表,可以按列删除重复#take_last=True,保留最后一个记录,数据整理,选择方式:行选择列选择区域选择筛选(条件选择),数据整理,行选择:FromHead:df.head(5)df:5FromTail:df.tail(5)df-5:-1Selectij:dfi:j+1选取后,也是df扩展:重构一个新的DataFrame,数据整理,列选择:单列:df列名或df.colname#不支持多列区域选择:1、行号-列名df.loc1:5,#1-5行全部列df.loc:,列名x,列名y#所有行的x,y两列,数据整理,区域选择:2、行-列,位置df.iloc1:5,x,y#x,y组成整型列表df.iloc:,列x,列y当然可以精确到一个数据df.locr,列名,df.ilocr,c,df.iatr,c条件筛选:df(df.index=u2014-01-01),names=date,val,name,cop,acter,directer,type)lcsv.append(pd.read_csv(20161016.csv,delimiter=;,names=date,val,name,cop,acter,directer,type)nf=pd.concat(lcsv),数据合并Merge,Merge的形式JoinSQL类型的连接,数据合并Merge,Merge的形式Merge的参数,数据可视化,Matplotlib绘图,主要用于二维绘图画图质量高方便快捷的绘图模块绘图APIpyplot模块集成库pylab模块(包含NumPy和pyplot中的常用函数),数据可视化,Matplotlib绘图,importnumpyasnpimportmatplotlib.pyplotaspltls_x=0,1,2,3,4,5,6,7ls_y=1,2,11,5,6,8,10,12plt.plot(ls_x,ls_y)plt.show(),数据可视化,Matplotlib绘图,importnumpyasnpimportmatplotlib.pyplotaspltt=np.arange(0.,4.,0.1)plt.plot(t,t,t,t+2,t,t*2)plt.show(),数据可视化,绘图样式,文字和字体属性坐标轴和网格属性子图(axes)子区(subplots)色彩和样式线宽每英寸点数图像大小pl.figure(figsize=(8,6),dpi=100),数据可视化,importnumpyasnpimportmatplotlib.pyplotaspltls_x=0,1,2,3,4,5,6,7ls_y=1,2,11,5,6,8,10,12plt.plot(ls_x,ls_y)plt.title(picturetitle)plt.xlabel(xlabel)plt.ylabel(ylabel)plt.show()#plt.plot(ls_x,ls_y,g-),数据可视化,上图的绘制命令:plt.1(list_i,list_o,2)1,2填什么?,数据可视化,importmatplotlib.pyplotaspltimportnumpyasnpt=np.arange(0.,4.,0.1)plt.plot(t,t,color=red,linestyle=-,linewidth=3,label=t)plt.plot(t,t+2,color=green,linestyle=:,marker=*,linewidth=3,label=t+2)plt.plot(t,t*2,color=blue,linestyle=,marker=+,linewidth=3,label=t*2)plt.legend(loc=upperleft)plt.show()#loc=best,数据可视化,importnumpyasnpimportmatplotlib.pyplotaspltls_x=0,1,2,3,4,5,6,7ls_y=1,2,11,5,6,8,10,12plt.plot(ls_x,ls_y)#plt.bar(ls_x,ls_y)plt.title(picturetitle)plt.xlabel(xlabel)plt.ylabel(ylabel)plt.show(),数据可视化,子图-subplots(便于比较),数据可视化,子图-subplots(便于比较),importmatplotlib.pyplotaspltimportnumpyasnp#pl.figure(figsize=(8,6),dpi=100)t=np.arange(0.,4.,0.1)plt.subplot(211)plt.plot(t,t,color=red,linestyle=-,linewidth=3,label=t)plt.subplot(212)plt.plot(t,t+2,color=green,linestyle=:,marker=*,linewidth=3,label=t+2)plt.plot(t,t*2,color=blue,linestyle=,marker=+,linewidth=3,label=t*2)plt.legend(loc=upperleft)plt.show(),数据可视化,子图-subplots(便于比较),扩展:用2*2子图的方式绘制:a*X,a*X+ba*3a*x*2+b*x+c四种曲线要求,颜色、线型不同子图都带图例,数据可视化,Pandas绘图,#ocding:utf-8importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltdf00=pd.read_csv(20161009.csv,delimiter=;,header=None)choi=df00.iloc:,1printchoichoi.plot()plt.show(),数据可视化,Pandas绘图的属性控制,#ocding:utf-8importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltdf00=pd.read_csv(20161009.csv,delimiter=;,header=None)choi=df00.iloc:,1printchoichoi.plot(color=g,marker=D,label=film)#choi.plot()plt.show(),数据可视化,Pandas绘图的属性控制,choi.plot(color=g,marker=D,label=film)#choi.plot()Kind:bar,barh,sactterx:xlabely:ylabeltilte:figuretitlelabel:图例标识,练习:分别找出2016年男性、女性观众评价最高的电影,以周为单位在图中用不同颜色和图例画出它们在全档期票房收入的折线图,需要图例。,plt.subplot(211)plt.plot(t,t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论