数据挖掘与分析.pptx

上传人:李司机 文档编号:4540955 上传时间:2023-04-26 格式:PPTX 页数:35 大小:2.29MB
返回 下载 相关 举报
数据挖掘与分析.pptx_第1页
第1页 / 共35页
数据挖掘与分析.pptx_第2页
第2页 / 共35页
数据挖掘与分析.pptx_第3页
第3页 / 共35页
数据挖掘与分析.pptx_第4页
第4页 / 共35页
数据挖掘与分析.pptx_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数据挖掘与分析.pptx》由会员分享,可在线阅读,更多相关《数据挖掘与分析.pptx(35页珍藏版)》请在三一办公上搜索。

1、Python 数据挖掘与分析,数据处理过程,数据获取和收集从数据源获取:,From Excelimport pandas as pdimport numpy as npdata1=pd.read_excel(”filename.xlsx)#使用pandas读取excelFrom CSV#ocding:utf-8import numpy as npimport pandas as pddf00=pd.read_csv(20161009.csv,delimiter=;)From 网页:urllib urllib2 httplib httplib2 import urllibimport redBy

2、tes=urllib.request.urlopen(http:/aaa.bbb.ccc/page).read()dStr=dBytes.decode()#在python3中urllib.read()语句功能是将dBytes转换成Strm=re.findall(正则解析表达式,dStr),例如:利用正则表达式解析表格内容,获取并连接:,#coding:utf-8import numpy as npimport pandas as pdprint=lcsv=lcsv.append(pd.read_csv(20161009.csv,delimiter=;,names=date,val,name,c

3、op,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,typ

4、e)print-nf=pd.concat(lcsv)print nf,原理与要点:Concat的参数是一个“列表”扩展:利用OS,浏览目录,获得 Filename List,利用遍历 Filename List,打开多个文件,数据整理例如:整理、去空、去重、合并、选取、数据准备:,重要准备:index,header,columns,显示各要素:显示索引 显示列名 显示数据的值 显示数据描述,数据清洗和整理例如:去空、去重、合并、选取、数据准备:,显示各要素:显示索引 df.index 显示列名 df.columns 显示数据的值 df.values 可以重构一个DataFrame扩展:rdf=

5、pd.DataFrame(data,index=inxlst,columns=colst)显示数据描述 df.describe,简报,数据清洗和整理去空、处理缺失:,isnull(),notnull()#测试空(not null)值,返回True,Falsedropna()#dropna(axis=1,how=all),按列删除 all Na,缺省为axis=0,即按行df.fillna()#填充,inpalce,不产生副本#fillna(0)填充0,fillna(c1:v1,cx:vx)利用字典x列填充v#可以利用函数:mean、random.randon等等,数据清洗和整理去重:,dupl

6、icated()#测试重值,返回True,Falsedrop_duplicates()#填充,inpalce,不产生副本#可利用列名列表,可以按列删除重复#take_last=True,保留最后一个记录,数据整理,选择方式:行选择 列选择 区域选择 筛选(条件选择),数据整理,行选择:From Head:df.head(5)df:5 From Tail:df.tail(5)df-5:-1 Select i j:dfi:j+1选取后,也是df扩展:重构一个新的DataFrame,数据整理,列选择:单列:df列名 或 df.colname#不支持多列区域选择:1、行号-列名df.loc1:5,#1

7、-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)&(df.val=95)isin(),数据统计分析,求票房收入均值:df.mean(columns=amount),求票房大于3000万的影片名称:df amount3000000.filename,求票房大于3000万的影片数量:len(df amount3000000.fi

8、lename)小于30000000万的票房影片数?,数据统计分析,票房前三甲:df.sort(columns=amount)?:?.filmname#ascending=True(default),增序,sum(和)、median(中位数)、var(方差)、std(标准差)、mean(平均数)、quantile(分位数)、min(最小)、max(最大)、describe(列数据简报)、count(非空计数)、pct_change(百分数变化),数据统计分析,票房前三甲:df.sort(columns=amount)?:?.filmname#ascending=True(default),增序,

9、sum(和)、median(中位数)、var(方差)、std(标准差)、mean(平均数)、quantile(分位数)、min(最小)、max(最大)、describe(列数据简报)、count(非空计数)、pct_change(百分数变化),数据分组,group by 操作的执行顺序(Splitting)按照一些规则将数据分为不同的组;(Applying)对于每组数据分别执行一个函数;(Combining)将结果组合到一个数据结构中例如,分组然后求和,print(objbox office.groupby(objmovie_name).size()grouped=objbox office.

10、groupby(objmovie_name)grouped=objbox office.groupby(objdate,objmovie_name).sum()grouped=obj.groupby(objdate,objmovie_name).sum()mean=grouped.mean(),数据合并Merge,Merge的形式 Append 加行到DataFrame同型(列相同)dataframe可添加至尾部 Concat 连接pandas对象 concat参数是列表lcsv=lcsv.append(pd.read_csv(20161009.csv,delimiter=;,names=da

11、te,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的形式 Join SQL类型的连接,数据合并Merge,Merge的形式 Merge的参数,数据可视化,Matplotlib绘图,主要用于二维绘图 画图质量高 方便快捷的绘图模块 绘图APIpyplot模块 集成库pylab模块(包含NumPy和 pyplot中的常用函数)

12、,数据可视化,Matplotlib绘图,import numpy as npimport matplotlib.pyplot as pltls_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绘图,import numpy as npimport matplotlib.pyplot as pltt=np.arange(0.,4.,0.1)plt.plot(t,t,t,t+2,t,t*2)plt.show(),数据可视化,绘图样式,文字和字体属性 坐标轴和网格属性 子图(a

13、xes)子区(subplots)色彩和样式 线宽 每英寸点数图像大小pl.figure(figsize=(8,6),dpi=100),数据可视化,import numpy as npimport matplotlib.pyplot as pltls_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(picture title)plt.xlabel(x label)plt.ylabel(y label)plt.show()#plt.plot(ls_x,ls_y,g-),数据可视化,上图的绘制命令:plt.1(

14、list_i,list_o,2)1,2填什么?,数据可视化,import matplotlib.pyplot as pltimport numpy as npt=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.le

15、gend(loc=upper left)plt.show()#loc=best,数据可视化,import numpy as npimport matplotlib.pyplot as pltls_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(picture title)plt.xlabel(x label)plt.ylabel(y label)plt.show(),数据可视化,子图-subplots(便于比较),数据可视化,子图-subplots(便于比较),imp

16、ort matplotlib.pyplot as pltimport numpy as np#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=,marke

17、r=+,linewidth=3,label=t*2)plt.legend(loc=upper left)plt.show(),数据可视化,子图-subplots(便于比较),扩展:用2*2子图的方式绘制:a*X,a*X+ba*3a*x*2+b*x+c四种曲线要求,颜色、线型不同子图都带图例,数据可视化,Pandas绘图,#ocding:utf-8import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf00=pd.read_csv(20161009.csv,delimiter=;,header=None)choi

18、=df00.iloc:,1print choichoi.plot()plt.show(),数据可视化,Pandas绘图 的属性控制,#ocding:utf-8import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf00=pd.read_csv(20161009.csv,delimiter=;,header=None)choi=df00.iloc:,1print choichoi.plot(color=g,marker=D,label=film)#choi.plot()plt.show(),数据可视化,Panda

19、s绘图 的属性控制,choi.plot(color=g,marker=D,label=film)#choi.plot()Kind:bar,barh,sactterx:xlabely:ylabeltilte:figure titlelabel:图例标识,练习:分别找出2016年男性、女性观众评价最高的电影,以周为单位在图中用不同颜色和图例画出它们在全档期票房收入的折线图,需要图例。,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=?)plt.legend(loc=upper left),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号