《数据仓库与数据挖掘》课件 第5、6章 Python与Numpy、Pandas与Matplotlib_第1页
《数据仓库与数据挖掘》课件 第5、6章 Python与Numpy、Pandas与Matplotlib_第2页
《数据仓库与数据挖掘》课件 第5、6章 Python与Numpy、Pandas与Matplotlib_第3页
《数据仓库与数据挖掘》课件 第5、6章 Python与Numpy、Pandas与Matplotlib_第4页
《数据仓库与数据挖掘》课件 第5、6章 Python与Numpy、Pandas与Matplotlib_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第5章Python与Numpy本章主要内容5.1Python简介5.2Numpy简介5.3课后习题5.1Python简介5.1Python简介近些年,由于Python语言的简洁性、易读性和可扩展性,IT行业内外掀起了一股学习Python的热潮,特别是随着大量方便快捷的扩展工具包涌现,Python更是成为了很多都市白领的必备技能。5.1.1Anaconda简介Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,还有很多安装好的工具包,比如之后介绍的numpy、pandas等。有了Anaconda我们的PC机就可以运行各种各样的Python科学计算程序。5.1.1Anaconda简介下载&双击傻瓜式“下一步”5.1.2JupiterNotebook简介5.1.2JupiterNotebook简介快速执行某个cell里的代码(shift+Enter)向前增加一个cell(a)向后增加一个cell(b)删除一个cell(dd)清空已执行的结果5.1.3Python常用语法变量类型列表型与字典型5.2Numpy简介5.2Numpy简介——原生python的问题实战案例:(1)有一个列表,里面装有5个数字,现让所有的数字都加上100,得到一个新列表。(2)一个人买了5种商品,第一个列表中存放着5种商品的个数,第二个列表中存放着5中商品的单价,求每个商品花了多少钱?5.2Numpy简介——numpy安装5.2.1初始数组——Numpy中的ndarrayndarray是个好东西!!有了它,numpy可以无循环地对整组数据进行快运算。(1)ndarray数组大小不能变动,(2)数组内元素类型必须保持一致(3)进行对位运算的数组大小必须相同(4)进行对位运算的数组内元素类型必须相同5.2.2数组的创建用原生python的列表创建用numpy创建特定数组(zerosones)用numpy创建有规律的数组(arangelinspace)用numpy创建随机数组(random.randintrandom.uniform)5.2.3数组的索引——数组的形状与维度多维数组reshapeshapesizeT5.2.3数组的索引传统索引 array[0][0]新索引

array[0,0]切片布尔型索引花式索引5.2.4Numpy的常用方法和属性求数组中每个元素的绝对值:np.abs()求数组中每个元素四舍五入值:np.round()求数组中每个元素向上取整:np.ceil()求数组中每个元素向下取整:np.floor()求数组中所有元素的平均值:np.mean()求数组中所有元素的方差:np.var()求数组中所有元素的标准差:np.std()求数组中最大值:np.max()求数组中最小值:np.min()求数组中最大值对应的索引:np.argmax()求数组中最小值对应的索引:np.argmin()取两个数组中对位小的部分:np.minimum(a1,a2)取两个数组中对位小的部分:np.maximum(a1,a2)5.2.4Numpy的常用方法和属性np.inf和np.nan5.3

课后习题5.3课后习题1.安装Anaconda,运行图5-8、图5-9所示代码;2.创建1个拥有8个元素的一维数组,内容是8个随机整数,取值范围是1-100,然后将这个数组转化成一个2行4列的二维数组;3.创建1个拥有8个元素的一维数组,内容是8个随机整数,取值范围是1-100,采用布尔型索引找出其中大于10的元素;4.创建1个拥有8个元素的一维数组,内容是8个随机整数,取值范围是1-100,计算数组中所有元素的平均值、方差。第6章Pandas与Matplotlib本章主要内容6.1Pandas6.2时间序列6.3Matplotlib6.4课后习题6.1Pandas6.1pandas——问题引入问题:一个数据表由什么组成?表1一季度股票收益表(单位:元)6.1pandas——问题引入对于某一列数据业务含义的描述第一种描述方式:这一列的数据分别是“1010、2010、3010、4010、5010”,这些数据对应的索引分别是“王二麻、张三、李四、王五、赵六”第二种描述方法:这一列数据分别表示“王二麻股票收益是1010”、“张三股票收益是2010”、“李四股票收益是3010”、“王五股票收益是4010”、“赵六股票收益是5010”如果使用numpy中的ndarray是否合理?如果使用字典型是否合理?6.1.1pandas中的SeriesPandas是一个非常强大的数据分析工具包(表格处理神器),可以进行丰富的数学运算和操作、灵活的缺失值处理,并且还提供了时间序列等数据分析常用功能。安装方法如下:Series是pandas提供的一种数据类型,和Seriess1(ndarray)很像,但是由一组数据和一组与之相关的索引组成,可以理解为带有索引的一列数据。6.1.2Series的创建方法一:通过pandas中的Series方法将原生python列表改造成Seires(注意index选项的使用)方法二:通过pandas中的Series将numpy中的ndarray改造成Series(注意index选项的使用)方法三:通过pandas中的Series方法将原生python中的字典型改造成Series注意:区分下标索引和标签索引6.1.3Series的索引index和values属性下标索引和标签索引(均支持普通索引、切片、布尔型索引等索引方法)loc和iloc(均支持普通索引、切片、布尔型索引等索引方法)6.1.4Series的数据对齐普通对位计算对位计算时的自动对齐(以标签索引为主,注意:如果无法对齐,则用nan补位或用其他数字补位)6.1.5Series的空值处理空值的判断删除填充替代Series数学计算Series常见的统计类计算(与numpy几乎一模一样)求Seriess1中每个元素的绝对值:s1.abs()求Seriess1中每个元素四舍五入值:s1.round()求Seriess1中每个元素向上取整:s1.ceil()求Seriess1中每个元素向下取整:s1.floor()求Seriess1中所有元素的平均值:s1.mean()求Seriess1中所有元素的方差:s1.var()求Seriess1中所有元素的标准差:s1.std()求Seriess1中最大值:s1.max()求Seriess1中最小值:s1.min()求Seriess1中最大值对应的索引:s1.argmax()求Seriess1中最小值对应的索引:s1.argmin().......6.1.6pandas中的DataFrameDataFrame是Pandas最重要的数据类型,它是一个表格型的数据结构,主要面向表格数据的处理。DataFrame可以被看做是由Series组成的字典,这些Series共用一个索引。股票1:股票2:股票3:理解为6.1.6pandas中的DataFrame——创建DataFrame方法一:使用pandas中的dataframe方法,将多个Series合并成dataframe(如果多个Series的索引对不上,坚持“对齐原则”,如果无法对齐将会出现nan,处理思路方法与Series的空值处理基本一致)方法二:读取csv等类型文件(注意:index_col和names选项)6.1.7DataFrame的属性indexcolumnsvaluesshapesizedescribe()6.1.8DataFrame索引与切片传统索引切片花式索引布尔型索引(注意:只能使用[])6.1.9DataFrame的对位运算与对齐原则对位计算(遵守对齐原则)表的合并单表排序单表统计计算(内容形式与Series基本相同)6.1.10DataFrame处理缺失值删除有空值的行删除有空值的列删除全空的行填充6.1.11DataFrame的常用方法meansumstdsort_valuessort_indexdescribe6.2

时间序列6.2.1生成一个时间序列使用to_datatime方法将列表中的字符串转成时间序列Pandas可以生成各种有规律的时间序列6.2.2时间序列的操作查看某个月的数据查看某些时间区间的数据查看各个月的数据统计6.2.3read_csv的高级应用read_csv的高级选项to_csv的使用6.3Matplotlib6.3matplotlib——安装matplotlib是一个画图的工具库,安装方式如下:6.3.1使用matplotlib画折线图importnumpyasnpimportpandasaspd#引入matplotlib工具包importmatplotlib.pyplotasplt#创建表示x值的ndarray和y值的ndarray,二者为线性关系x=np.array(

[1,3,5,7,9])y=np.array([11,13,15,17,19])#画线段图,x是横坐标,y是纵坐标plt.plot(x,y)#显示画图plt.show()6.3.2图表详细信息plt.title("Pic1")#显示图的名称plt.xlabel("xlabel")#显示x轴名称plt.ylabel("ylabel")#显示y轴名称plt.xlim(0,6)#调整x轴的范围为0-5plt.ylim(2,35)#调整y轴的范围为2-35plt.xticks([0,2,4,6])#x轴只显示列表里的点plt.yticks([10,20,30,35])#y轴只显示列表里的点plt.legend()#将plot中label的内容以图例形式显示出6.3.3其他图——使用matplotlib画柱状图

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#一共有四组数据作为x轴,分别是Season1Season2Season3Season4season=['Season1','Season2','Season3','Season4']#四个季度的收入分别是10万、15万、20万、10万income=[10,15,20,10]#显示四个季度收入的柱状图,并指定对应颜色是红、黄、绿、蓝plt.bar(season,income,color=['red','yellow','green','blue'])plt.show()6.3.3其他图——使用matplotlib画饼状图

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#一共有四组数据作为x轴,分别是Season1Season2Season3Season4season=['Season1','Season2','Season3','Season4']#四个季度的收入分别是10万、15万、20万、10万income=[10,15,20,10]#画饼状图,显示四个季度收入

温馨提示

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

评论

0/150

提交评论