资源简介 (共38张PPT)4.2.2编程处理数据第四章第四章目录相关模块Pandas模块Matplotlib模块实践Python常用数据处理拓展模块Numpy模块:是科学运算的基础库,主要提供科学计算中常用的随机数、数组运算等基础模块Scipy模块:基于numpy构建的一个模块,增强了在高等数学、信号处理、图像处理、统计等方面的能力Pandas模块:基于numpy实现,主要用于数据的处理与分析,提供了大量处理数据的函数和方法,能方便操作大型数据集Pandas模块提供了Series和DataFrame两种数据结构。使用这两种数据结构,可以完成数据的整理、计算、统计、分析以及简单可视化。import 模块名调用:模块名.函数名()from 模块名 import 函数名调用:函数名()import 模块名[as 别名]调用:别名.函数名()from 模块名 import 函数名[as 别名]调用:别名()Pandas模块——DataFrame(数据框)数据结构 维度 组成部分 属性Series一维由一个数组的数据(values)和一个与数据关联的索引(index)index、values自主阅读书本P120,完成表格填空Pandas模块——Series序列Series是一种一维的数据结构,由一个数组的数据(values)和一个与数据关联的索引(index),索引值默认是从0起递增的整数。列表,字典等都可以用来创建Series数据结构,与列表不同的是,Series的索引可以指定,类型可以是字符串类型。课堂练习下列关于pandas模块的说法不正确的是( )A.Pandas是基于numpy的一种工具,该工具是为了解决数据分析任务而创建的B.Pandas提供了大量能使我们快速、便捷地处理数据的函数和方法C.Pandas提供的Series是一种一维数组的对象,他由包含一个数组的数据组成的D.Pandas模块导入的方法是import pandas as pdCPandas模块——Series序列from pandas import Series #导入pandas库中Series模块pds1 = Series([45, 30, 35, 28])pds10 451 302 353 28左列:index右列:values以列表为数据对象创建1.创建Series对象Pandas模块——Series序列通过字典方式创建data = {“学生甲”:45,“学生乙”:30,“学生丙”:35,“学生丁":28}ps3 = Series(data)ps3学生甲 45学生乙 30学生丙 35学生丁 28Pandas模块——Series序列通过指定索引的方式,以列表为数据对象创建pds2 = Series([45, 30, 35, 28], index=['学生甲', '学生乙', '学生丙', '学生丁'])pds2学生甲 45学生乙 30学生丙 35学生丁 28索引可以是字符串类型Pandas模块——Series序列通过指定索引的方式,通过字典方式创建data = {"i1":1,"i2":2,"i3":3,"i4":4}ps3 = Series(data,index=['i2','i1','i3','i4'])ps3i2 2i1 1i3 3i4 4Pandas模块——Series序列通过指定索引的方式,通过字典方式创建data = {"i1":1,"i2":2,"i3":3,"i4":4}ps3 = Series(data,index=[‘i1',’i2','i3',‘i4’,’i5’])ps3i1 1i2 2i3 3i4 4i5 NaNPandas模块——Series序列通过index、values属性访问import pandas as pdps=pd.Series ([45, 30, 35, 28], index=['学生甲', '学生乙', '学生丙', '学生丁'])print(ps.values)[45, 30, 35, 28]2.查看、选取Series对象中的数据import pandas as pdps=pd.Series([45, 30, 35, 28], index=['学生甲', '学生乙', '学生丙', '学生丁'])print(ps.index)Index=( ['学生甲', '学生乙', '学生丙', '学生丁'], dtype='object')索引是字符串类型时:dtype='object'索引是整型时:dtype=‘int64'课堂练习有Python程序段如下:import pandas as pdser = pd.Series([1,3,5,7])print(ser.index)该程序段运行后输出结果为( )A课堂练习下列有关Series说法错误的是( )A.Series中index属性,默认值从0开始B.Series中必须指定indexC.两个index不同的Series可以相加D. Series中的index可以是字符串类型BPandas模块——Series序列索引访问import pandas as pdps=pd.Series([45, 30, 35, 28], index=['学生甲', '学生乙', '学生丙', '学生丁’])print(ps[['学生甲', '学生乙']])学生甲 45学生乙 302.查看、选取Series对象中的数据Pandas模块——Series序列通过赋值语句修改import pandas as pdps=pd.Series([45, 30, 35, 28], index=['学生甲', '学生乙', '学生丙', '学生丁’])ps[‘学生甲’]=42print(ps['学生甲'])423.修改Series对象中的数据Pandas模块——DataFrame(数据框)数据结构 维度 组成部分 属性Series 一维 由一个数组的数据(values)和一个与数据关联的索引(index) index、valuesDataFrame二维由1个索引列(index)和若干个数据列组成index、columns、values、T自主阅读书本P121,完成表格填空Pandas模块——DataFrame(数据框)DataFrame是一种类似于关系表的表格型数据结构,DataFrame对象是一个二维表格,由1个索引列(index)和若干个数据列组成。其中,每列中的元素类型必须一致,而不同的列可以拥有不同的元素类型。Pandas模块——DataFrame(数据框)columnscolumnsPandas模块——DataFrame(数据框)import pandas as pddata = {“name”:[‘学生甲’, ‘学生乙’, ‘学生丙’, ‘学生丁’],“语文”:[100,89,110,105], “数学”:[110,120,125,135],“信息”:[45, 30, 35, 28]}df = pd.DataFrame(data)dfindex以相等长度的列表组成的字典形式创建1.创建DataFrame对象Pandas模块——DataFrame(数据框)DataFrame数据有列索引和行索引,行索引类似于关系表中每行的编号(未指定行索引的情况下,会使用0到N-1作为行索引),列索引类似于表格的列名(也称为字段)。df1 = DataFrame(data, index=['20200817','20200818','20200819','20200819’])df1对已经创建好的DataFrame对象指定行索引Pandas模块——DataFrame(数据框)Excel文件名&文件内容:1.创建DataFrame对象import pandas as pddf=pd.read_excel(test.xlsx)print(df)导入二维数组文件创建DataFrame对象Python代码:控制台界面:import pandas as pddata = {"name":["王晓明","李静","田海"],"sex":["男","女","男"],"aged":[20,19,21]}df = pd.DataFrame(data) df.to_excel(test.xlsx)print(df)Python代码:Excel文件名&文件内容:Pandas模块——DataFrame(数据框)通过index、values、columns属性查看2.查看DataFrame对象print(df.index)print(df.values)print(df.columns)Pandas模块——DataFrame(数据框)查看数据列2.查看DataFrame对象print(df['name'])查看数据行print(df.head(2))print(df.tail(2))dfprint(df[1:3])Pandas模块——DataFrame(数据框)Pandas模块——DataFrame(数据框)append()增加行数据可以通过append()函数传入字典数据即可。append_data = {"name":"学生戊","语文":110,"数学":110,"信息":35}new_df = df.append(append_data,ignore_index=True)new_df3.行、列编辑使用函数:insert()、drop()、rename()、append()、set_value()Pandas模块——DataFrame(数据框)append()增加新列表可以通过append()函数传入字典数据即可。df1df2resultResult=df1.append(df2,ignore_index=True)Pandas模块——DataFrame(数据框)增加列增加列可以直接通过标签索引方式进行,当新增的列中的数值不一样时,可以传入列表或者数组结构进行赋值。new_df[“英语"] = [“115",“100",“90",“100"]new_df修改前修改后Pandas模块——DataFrame(数据框)删除使用drop()函数可以删除指定轴上的信息,原来的DataFrame数据不会删除。new_df.drop(2,axis=0) #删除行索引是2的信息Pandas模块——DataFrame(数据框)drop()和append()函数均不改变原有df对象中的数据,而是通过返回另一个DataFrame对象来存放改变后的数据append_data = {"name":"学生戊","语文":110,"数学":110,"信息":35}new_df = df.append(append_data)print(new_df)print(df)Pandas模块——DataFrame(数据框)修改标签通过rename()函数完成行和列索引标签的修改,index参数指定要修改的行标签,columns参数指定要修改的列标签。df.rename(columns = {"name":"姓名"})#以字典形式指定修改信息Pandas模块——DataFrame(数据框)groupby()4. DataFrame对象中对数据进行统计和计算:使用函数:count()、sum()、mean()、max()、min()、describe()、groupby()df1.groupby(‘班级’,as_index=False)Pandas模块——DataFrame(数据框)groupby()4. DataFrame对象中对数据进行统计和计算:使用函数:count()、sum()、mean()、max()、min()、describe()、groupby()df1.groupby(‘班级’,as_index=False)df1.groupby(‘班级’,as_index=False).mean()df1.groupby(‘sex’,as_index=False).aged.mean()Pandas模块——DataFrame(数据框)按索引排序sort_index()4. DataFrame对象中的排序按值排序sort_ values()print(df1.sort_values(“信息",ascending=False))print(df1.sort_index())ascending=False 降序ascending=True 升序默认升序课堂练习某DataFrame对象df,其中包含18000数据行个和6个数据列,下列语句中能查看df对象中数据行的是( )A.df.indexB.df.columnsC.df.head()D.df.count()C课堂练习判断题某DataFrame对象df,执行下列程序后,df中的数据将删除列索引为‘名称’数据列( )import pandas as pddf.drop(‘名称’,axis=1)×谢谢观看第四章第四章 展开更多...... 收起↑ 资源预览