资源简介 (共29张PPT)第四章 数据处理与应用4.2 大数据处理4.2.2 编程处理数据学习目标掌握pandas模块的两种数据结构Series和DataFrame。学习使用pandas模块对数据进行编辑、计算、统计、分析。能选用合适的方法和软件对数据进行简单可视化。掌握运用matplotlib的pyplot子库的方法,学习和体会编程处理数据的方法和优势。使用Python语言编程进行数据分析和挖掘,可以调用Python的扩展模块。Python常用数据处理拓展模块:Numpy模块:科学运算的基础库,主要提供科学计算中常用的随机数、数组运算等基础函数。Scipy模块:基于numpy构建的一个模块,增强了在高等数学、信号处理、图像处理、统计等方面的处理能力。Pandas模块:基于numpy实现,提供了大量处理数据的函数和方法,能方便地操作大型数据集。Matplotlib模块:绘图库,使用pyplot子库中的函数快速绘图和设置图表坐标轴、坐标轴刻度、图例等。知识点一:利用pandas模块处理数据新课讲授pandas提供了Series和DataFrame两种数据结构,可完成数据整理、计算、统计、分析及简单可视化。在Python中引入pandas模块的方法如下:import pandas as pdPython模块的导入——import语句:导入函数或模块到python代码中,实现代码复用。可为模块或函数指定别名。import 模块名调用:模块名.函数名()from 模块名 import 函数名调用:函数名()import mathmath.sqrt(64)from math import sqrtsqrt(64)import 模块名 as 别名调用:别名.函数名()from 模块名 import 函数名 as 别名调用:别名()import math as sxsx.sqrt(64)from math import sqrt as sqsq(64)1.一维数据结构——Series包含一个数组的数据(values)和一个与数据关联的索引(index),索引值默认是从0起递增的整数。列表、字典等能用来创建Series数据结构,与列表不同的是,Series的索引可以指定,类型可以为字符串型。(1)创建Series对象(2)查看Series对象中的数据(3)Series对象的检索和修改1.输出索引为0的值:print(s2[0])1662.输出索引为's01'的值:print(s2["s01"])1663.修改索引为2的值为190:s2[2]=1904.输出values小于180的行:print(s2[s2<180])2.二维数据结构——DataFrame由1个索引列(index)和若干个数据列组成,每个数据列可以是不同的类型。DataFrame可以看作是共享同一个index的Series的集合。行索引类似于关系表中每行的编号,列标题类似于表格的列名(也称为字段)。(1)创建DataFrame对象用相等长度的字典创建:(1)创建DataFrame对象用相等长度的列表创建:import pandas as pddata=[[1,2,3],[3,4,5],[6,7,8]]df1=pd.DataFrame(data,index=['a','b','c'],columns=['e','f','g'])print(df1)e f ga 1 2 3b 3 4 5c 6 7 8(1)创建DataFrame对象读取二维数据文件创建:read_excel()函数读取Excel文件;read_csv()函数读取CSV文件DataFrame对象导出到二维数据文件 :to_excel()函数导出到Excel文件保存数据;to_csv()函数导出到CSV文件保存数据。import pandas as pddata=[[1,2,3],[3,4,5],[6,7,8]]df1=pd.DataFrame(data,columns=['e','f','g'])df1.to_csv('data.csv')(2)对DataFrame对象的检索或修改按照字段名称选取列:df1['姓名'] #选取1列数据df1[['姓名','借阅次数']] #选取2列或多列数据按照字段位置选取列和行:df.loc[0,:] #选取第1行的数据df.loc[[0,1],:] #选取第1、2行的数据选取满足条件的行:df1[df1['借阅次数']>50] #选取df1对象中'借阅次数'大于50的数据行根据行索引和列标签选取单个值:df.at[0,'a'] #选取df对象第1行、'a'列的值(3)DataFrame常用函数DataFrame数据结构提供了丰富的函数,这些函数可以用来进行行、列编辑和统计计算等。函数 说明 备注 函数 说明 备注count() 非空(NaN)数据项的数量 drop() 删除 axis=0/1默认为0(行)不改变sun() mean() 和 平均值 axis=0/1默认为0纵向 append() 插入(追加行) 不改变ignore_index默认为False使用原来的索引列max() min() 最大值 最小值 insert() 插入(追加列) 改变describe() 各列的基本描述统计值 包含计数、平均数、标准差、最大值、最小值及4分位差 rename() 修改列名或者索引 默认不改变head(n) tail(n) 前n行记录 后n行记录 n省略默认5行 concat() 合并DataFrame对象 不改变groupby() 分组 as_index缺省默认True为新索引列 不改变 set_value() 根据行标签和列标签设置单个值 改变sort_values() 排序ascending缺省默认True为升序 axis=0/1默认为0纵向 不改变(inplace=True会改变,默认为False ) plot() 绘图知识点二:利用matplotlib模块绘图matplotlib是一个绘图库,使用其中的pyplot子库所提供的函数可以快速绘图和设置图表的坐标轴、坐标轴刻度、图例等。在Python中引入matplotlib的pyplot子库的方法为:import matplotlib.pyplot as pltfigure()语法说明figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True)num:图像编号或名称,数字为编号,字符串为名称。figsize:接收元组类型的值,使用两个整数作为元素,指定图像的宽和高,单位是英寸。dpi:图像分辨率,即每英寸多少个像素,缺省值为80。facecolor:背景颜色,它只能接收字符串类型的颜色英文单词。edgecolor:边框颜色frameon:是否显示边框,接收的值True或False代码示例如下所示:import matplotlib.pyplot as pltfig = plt.figure(num='标题',figsize =(4, 3),dpi=240,facecolor='orange',edgecolor='pink',frameon=False)plt.show()plot()语法说明color:指定线条的颜色。linewidth:指定线条的宽度(磅)。label:给线条指定一个图例名称。代码示例如下所示:import matplotlib.pyplot as pltx=[0,1,2,3,4,5]y=[1,6,2,5,3,4]plt.plot(x,y,label='y',color='r',linewidth=2)plt.legend() #显示图例plt.show()1.有Python程序段如下:import pandas as pdpd1 = pd.Series([1,2,3,4])print(pd1.index)该程序段运行后输出结果为( )A. B. C. D.0 1 1 21 2 2 32 3 3 43 4 4 5随堂练习A2. 某DataFrame对象df,其中包含10个数据行和11个数据列,下列语句中能查看df对象中数据行的是( )A.df.indexB.df.columnsC.df.tail()D.df.count()C 展开更多...... 收起↑ 资源预览