(
课件网) 第四章 数据处理与应用 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 pd Python模块的导入———import语句: 导入函数或模块到python代码中,实现代码复用。可为模块或函数指定别名。 import 模块名 调用:模块名.函数名() from 模块名 import 函数名 调用:函数名() import math math.sqrt(64) from math import sqrt sqrt(64) import 模块名 as 别名 调用:别名.函数名() from 模块名 import 函数名 as 别名 调用:别名() import math as sx sx.sqrt(64) from math import sqrt as sq sq(64) 1.一维数据结构———Series 包含一个数组的数据(values)和一个与数据关联的索引(index),索引值默认是从0起递增的整数。列表、字典等能用来创建Series数据结构,与列表不同的是,Series的索引可以指定,类型可以为字符串型。 (1)创建Series对象 (2)查看Series对象中的数据 (3)Series对象的检索和修改 1.输出索引为0的值: print(s2[0]) 166 2.输出索引为's01'的值: print(s2["s01"]) 166 3.修改索引为2的值为190: s2[2]=190 4.输出values小于180的行: print(s2[s2<180]) 2.二维数据结构———DataFrame 由1个索引列(index)和若干个数据列组成,每个数据列可以是不同的类型。DataFrame可以看作是共享同一个index的Series的集合。行索引类似于关系表中每行的编号,列标题类似于表格的列名(也称为字段)。 (1)创建DataFrame对象 用相等长度的字典创建: (1)创建DataFrame对象 用相等长度的列表创建: import pandas as pd data=[[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 g a 1 2 3 b 3 4 5 c 6 7 8 (1)创建DataFrame对象 读取二维数据文件创建:read_excel()函数读取Excel文件;read_csv()函数读取CSV文件 DataFrame对象导出到二维数据文件 :to_excel()函数导出到Excel文件保存数据;to_csv()函数导出到CSV文件保存数据。 import pandas as pd data=[[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行、 ... ...