1、第四章 数据处理与应用 人生苦短 我用python 学习目标: 1、了解了解Python常用扩展模块的功能。常用扩展模块的功能。 2、掌握掌握pandas模块的调用方法、数据结构等基本知识。模块的调用方法、数据结构等基本知识。 3、能使用能使用pandas模块对数据进行编辑、计算和统计分析,并能从中提取有用信息形成结论。模块对数据进行编辑、计算和统计分析,并能从中提取有用信息形成结论。 4、掌握、掌握matplotlib模块的调用方法和使用模块的调用方法和使用matplotlib模块对数据进行可视化的基本方法。模块对数据进行可视化的基本方法。 还记得吗? python模块的导入import 一
2、个程序中已出现的一个或多个函数或模块,引入到另一个python代码中,从而实现代码的复用。 语法如下:语法如下: l import 模块名模块名 模块名模块名.函数名函数名 l from 模块名模块名 import 函数名函数名 python模块的小名儿 import 还有更多详细的用法,主要有以下两种:导入整个模块时,也可以为模块指定别名还有更多详细的用法,主要有以下两种:导入整个模块时,也可以为模块指定别名。 import 模块名模块名1 as 别名别名1 例如:例如:import sys as s print(s.argv0) from 模块名模块名 import 成员名成员名1 as
3、别名别名1, 例如:例如:from sys import argv as v print(v0) pandas处理数据 数据处理可以使用现成的软件或平台数据处理可以使用现成的软件或平台, ,也可以通过编写程序也可以通过编写程序 实现。实现。PythonPython语言丰富的语言丰富的标准模块和扩展库标准模块和扩展库提供了许多高效灵提供了许多高效灵 活的函数活的函数, ,可以帮助我们较好地进行数据整理。可以帮助我们较好地进行数据整理。 pandas数据结构 1. Series(序列) Series类似于一维数组,由一个数组的数据和一个与数据关联的索引 (index),索引值默认是从0起递增的整数
4、。 from pandas import Series #导入pandas库中Series模块 pds1 = Series(1, 2, 3, 4) pds1 0 1 1 2 2 3 3 4 左列:index 右列:values pandas数据结构 通过指定索引的方式 pds2 = Series(1, 2, 3, 4, index=a, b, c, d) pds2 a 1 b 2 c 3 d 4 pandas数据结构 通过字典方式创建 data = i1:1,i2:2,i3:3,i4:4 #由于字典是无序的,因此指定索引排列顺序 ps3 = Series(data,index=i1,i2,i3
5、,i4) ps3 i1 1 i2 2 i3 3 i4 4 pandas数据结构 2. DataFrame(数据框) DataFrame是一种类似于关系表的表格型数据结构, DataFrame对象是一个二维表格,由1个索引列(index)和若干个数 据列组成。其中,每列中的元素类型必须一致,而不同的列可以拥有 不同的元素类型。 使用DataFrame前,需要导入pandas库中的DataFrame模块 from pandas import DataFrame pandas数据结构 data = name:王晓明,李静,田海, sex:男,女,男, aged:20,19,21 #字典是无序的,因此
6、需要通过columns指定列索引的排列顺序 df = DataFrame(data,columns=name,sex,aged) df index pandas数据结构 DataFrame数据有列索引和行索引,行索引类似于关系表中每行的编 号(未指定行索引的情况下,会使用0到N-1作为行索引),列索引类似于 表格的列名(也称为字段)。 df1 = DataFrame(data,columns = name,sex,aged,index = L1,L2,L3) df1 data = name:(张三,李四,王五,赵六), sex:(男,女,女,男), aged:(20,19,20,21), sc
7、ore:(80,60,70,90) df = DataFrame(data) #使用字典创建DataFrame对象 df pandas数据结构 pandas数据结构 DataFrame模块提供了丰富的函数,这些函数可以用来进行行、 列编辑和统计计算等。 1.增加行 增加行数据可以通过append()函数传入字典数据即可。 append_data = name:朱八,sex:男,aged:23,score:65 new_df = df.append(append_data) new_df pandas数据结构 2.增加列 增加列可以直接通过标签索引方式进行,当新增的列中的数值 不一样时,可以传入
8、列表或者数组结构进行赋值。 new_dfcity = 北京,西安,长春,珠海,昆明 new_df pandas数据结构 3. 删除 使用drop()函数可以删除指定轴上的信息,原来的DataFrame 数据不会删除。 new_df.drop(2) #删除行索引是2的信息 pandas数据结构 4.修改标签 通过rename()函数完成行和列索引标签的修改,index参数指定要修改的行标 签,columns参数指定要修改的列标签。 new_df.rename(index = 3:2,4:3,columns = score:grade) #以字典形式指定修改信 息 pandas数据结构 Matpl
9、otlib绘图 Matplotlib Matplotlib绘图绘图 matplotlib中的快速绘图的函数库可以通过如下语句载入: 接下来调用figure创建一个绘图对象,并且使它成为当前的绘图对象。 通过figsize参数可以指定绘图对象的宽度和高度,单位为英寸;dpi参 数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80。因此本例 中所创建的图表窗口的宽度为8*80 = 640像素。 import matplotlib.pyplot as plt plt.figure(figsize=(8,4) 接下来通过一系列函数设置绘图对象的各个属性: xlabel / ylabel : 设置X
10、轴/Y轴的文字 title : 设置图表的标题 ylim : 设置Y轴的范围 legend : 显示图示 最后调用plt.show()显示出创建的所有绘图对象。 21 plt.xlabel(Time(s) plt.ylabel(Volt) plt.title(PyPlot First Example) plt.ylim(-1.2,1.2) plt.legend() Matplotlib绘图 22 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) z = np
11、.cos(x*2) plt.figure(figsize=(8,4) plt.plot(x,y,label=$sin(x)$,color=red,linewidth =2) plt.plot(x,z,b-,label=$cos(x2)$) plt.xlabel(Time(s) plt.ylabel(Volt) plt.title(PyPlot First Example) plt.ylim(-1.2,1.2) plt.legend() plt.show() Matplotlib绘图 23 Matplotlib绘图 课堂小结 limport 模块名模块名1 as 别名别名1 lfrom 模块名模
12、块名 import 成员名成员名1 as 别名别名1, l pandas数据结构 Series(序列) DataFrame(数据框) l Matplotlib绘图 1. 下列Python的模块中,主要用于数据的处理和分析的是 ( ) A.Image B.pandas C.scipy D.matplotlib 课堂练习 B 课堂练习 2.有Python程序段如下: import pandas as pd ser = pd.Series(1,3,5,7) print(ser.index) 该程序段运行后输出结果为( ) A 课堂练习 3. 某DataFrame对象df,其中包含18000数据行个和6个数 据列,下列语句中能查看df对象中数据行的是( ) A.df.index B.df.columns C.df.head() D.df.count() C 课堂练习 4.(开放题)采集你感兴趣的数据,使用Python编程语言 调用pandas模块处理数据、调用matplotlib模块绘图呈现数据, 并描述分析结果。 每一种知识都需要努力, 都需要付出,感谢你们!