




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4.2
pandas处理数据编程处理数据数据处理可以使用现成的软件或平台,也可以通过编写程序实现。Python语言丰富的标准模块和扩展库提供了许多高效灵活的函数,可以帮助我们较好地进行数据整理。pandas处理数据numpy模块是Python中做科学计算的基础库,主要提供科学计算中常用的随机数、数组运算等基础函数。
scipy模块是基于numpy构建的一个模块,增强了在高等数学、信号处理、图像处理、统计等方面的处理能力。
pandas模块基于numpy实现,主要用于数据的处理和分析。它提供了大量处理数据的函数和方法,能方便地操作大型数据集。python模块的导入——import
一个程序中已出现的一个或多个函数或模块,引入到另一个python代码中,从而实现代码的复用。语法如下:import模块名模块名.函数名from模块名import函数名python模块的小名儿import还有更多详细的用法,导入整个模块时,也可以为模块指定别名。
import模块名1[as别名1]例如:importmathassprint(s.sqrt(9))
from模块名import成员名1[as别名1]例如:frommathimportsqrtasvprint(v(9))Series是一种一维的数据结构,包含一个数组的数据(values)和一个与数据关联的索引(index)。1、导入pandas模块importpandasaspd2、创建一个Series对象S=pd.Series(x[,index=idx])X可以是:1、列表(list)2、字典(dict)3、numpy数组(ndarray)1.创建Series(序列)Series类似于一维数组,由一个数组的数据和一个与数据关联的索引(index)组成,索引值默认是从0起递增的整数。importpandasaspd#导入pandas模块并取别名为pds1=pd.Series([1,2,3,4])print(s1)01122334左列:index(索引)右列:values(值)
Series
Seriess2=pd.Series([1,2,3,4],index=['a','b','c','d'])print(s2)a
1b
2c
3d
4
Series结构与列表最大的区别是可以指定索引,类型可以是字符串型indexvalues
创建一个别名为pd1的Series结构对象w,用于存储中餐站台当中的“滑蛋虾仁”,“荔枝鸡片”,“XO酱炒牛肉”,并输出。通过字典方式创建data={"i1":1,"i2":2,"i3":3,"i4":4}s3=pd.Series(data)print(s3)i11i22i33i44
Series通过字典方式创建data={"i1":1,"i2":2,"i3":3,"i4":4}s3=pd.Series(data,index=['i1','i3','i2','i4'])print(s3)i11i33i22i44
Series修改series对象中的值
先通过索引值选取值,再通过赋值语句修改值指定索引以后,原来默认的索引值还能用吗?
Series对象常用属性属性说明indexSeries的下标索引,其值默认是从0起递增的整数values存放Series值的一个数组3.查看Series对象的index、values属性值s2=pd.Series(['你','好','聪','明'],index=['a','b','c','d'])foriins2.index:print(i)a
b
c
d
Series对象常用属性3.查看Series对象的index、values属性值s2=pd.Series(['你','好','聪','明'],index=['a','b','c','d'])foriins2.values:print(i)你好聪明
Series对象常用属性3.查看Series对象的index、values属性值s2=pd.Series(['你','好','聪','明'],index=['a','b','c','d'])foriins2:print(i)你好聪明
Series对象常用属性课堂练习1.下列Python的模块中,主要用于数据的处理和分析的是()A.ImageB.pandasC.scipyD.matplotlibB课堂练习2.有Python程序段如下:importpandasaspdser=pd.Series([1,3,5,7])print(ser.index)该程序段运行后输出结果为()AA.0B.1C.1D.01123132352534737课堂练习3.有Python程序段如下:importpandasaspds=pd.Sreies([166,178,180],index=['S1','S2','S3'])s[1]=168print(s)该程序段运行后输出结果为()A.
[168178180]B.[166168180]C.S1166D.S1168S2168S2178S3180S3180C课堂练习4.有Python程序段如下:importpandasaspds=pd.Sreies(range(1,10,2))print(s)该程序段运行后输出结果为()A.
01B.11C.01D.111102101323253537474959Cpandas数据结构2.DataFrame(数据框)DataFrame是一种类似于关系表的表格型数据结构,DataFrame对象是一个二维表格,由1个索引列(index)和若干个数据列组成。其中,每列中的元素类型必须一致,而不同的列可以拥有不同的元素类型。利用字典创建DataFrame使用DataFrame前,需要导入pandas库中的DataFrame模块frompandasimportDataFrame
data={"name":["王晓明","李静","田海"],"sex":["男","女","男"],"aged":[20,19,21]}#字典是无序的,因此需要通过columns指定列索引的排列顺序df=DataFrame(data,columns=["name","sex","aged"])print(df)indexcolumnsvalues利用字典创建DataFrameDataFrame数据有列索引和行索引,行索引类似于关系表中每行的编号(未指定行索引的情况下,会使用0到n-1作为行索引),列索引类似于表格的列名(也称为字段)。df1=DataFrame(data,columns=["name","sex","aged"],index=["L1","L2","L3"])print(df1)利用字典创建DataFrame__________________#导入模块data={"name":["张三","李四","王五","赵六"],"sex":["男","女","女","男"],"aged":[20,19,20,21],"score":[80,60,70,90]}df=pd.DataFrame(data,columns=["aged","name","score","sex"])print(df)importpandasaspd创建DataFrame对象DataFrame对象可以自己定义,也可以直接读取二维数据文件创建DataFrame对象。read_excel()函数读取Excel文件创建DataFrame对象read_csv()函数读取CSV文件创建DataFrame对象to_excel()函数创建Excel文件保存数据to_csv()函数创建CSV文件保存数据创建DataFrame对象读入文件
使用read_excel()函数,读取Excel文件创建DataFrame对象。importpandasaspddf=pd.read_excel("cp.xlsx")print(df)查看DataFrame对象
通过index、columns、values属性可以查看DataFrame对象的行索引、列索引及其数据,如df.index、df.columns、df.values。importpandasaspddf=pd.read_excel("cp.xlsx")foriindf.index:print(i)查看DataFrame对象
通过index、columns、values属性可以查看DataFrame对象的行索引、列索引及其数据,如df.index、df.columns、df.values。importpandasaspddf=pd.read_excel("cp.xlsx")print(df.T)#行列转置,df数据本身不变print(df)查看DataFrame对象查看数据列
使用字典记法或属性检索DataFrame对象中的一列数据,如df['id']或df.id。importpandasaspddf=pd.read_excel("cp.xlsx")print(df.影视剧)importpandasaspddf=pd.read_excel("cp.xlsx")print(df____________)[“影视剧”]pandas数据结构DataFrame模块提供了丰富的函数,这些函数可以用来进行行、列编辑等。DataFrame中,新增列、删除列、重命名列可以通过insert()、drop()、rename()等函数完成;追加数据行可以通过append()函数完成;使用set_value()函数可以根据行标签和列标签设置单个值。pandas数据结构1.增加行增加行数据可以通过append()函数传入字典数据即可。importpandasaspddf=pd.read_excel("cp.xlsx")append_data={"影视剧":"凤囚凰","cp名":"初融夫妇","男角色":"容止","女角色":"刘楚玉"}new_df=df.append(append_data,ignore_index=True)print(new_df)pandas数据结构2.增加列增加列可以直接通过标签索引方式进行,当新增的列中的数值不一样时,可以传入列表或者数组结构进行赋值。importpandasaspddf=pd.read_excel("cp.xlsx")df["结局"]=["HE","HE","BE","HE"]print(df)pandas数据结构3.删除
使用drop()函数可以删除指定轴上的信息,axis=0删除行,axis=1删除列,默认axis=0,原来的DataFrame数据不会删除。importpandasaspddf=pd.read_excel("cp.xlsx")df["结局"]=["HE","HE","BE","HE"]df1=df.drop(2)print(df1)pandas数据结构3.删除
请补充代码,实现删除”影视剧”一列。
如何使原来的df对象中的”影视剧”一列也被删除?importpandasaspddf=pd.read_excel("cp.xlsx")df["结局"]=["HE","HE","BE","HE"]__________________________print(df)deldf.影视剧pandas数据结构4.修改标签
通过rename()函数完成行和列索引标签的修改,index参数指定要修改的行标签,columns参数指定要修改的列标签。importpandasaspddf=pd.read_excel("cp.xlsx")df["结局"]=["HE","HE","BE","HE"]df1=df.rename(index={3:9},columns={"结局":"ending"})print(df1)课堂练习1.有Python程序段如下:importpandasaspddf1=pd.DataFrame([[10,20],[30,40]],columns=['A','B'])df2=pd.DataFrame([[50,60],[70,80]],columns=['A','B'])df=df1.append(df2,ignore_index=True)print(df)该程序段运行后输出结果为()A.ABB.ABC.ABD.AB103010200102001020204030401304013040507050600506025060608070801708037080D查看DataFrame对象修改数据列
使用字典记法或属性检索DataFrame对象中的一列数据,如df['id']或df.id。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','张若昀','任国超']print(df)查看DataFrame对象查看数据行
通过head()、tail()返回DataFrame对象中前n行、后n行的数据。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','张若昀','任国超']print(df.head(2))print(df.tail(1))查看DataFrame对象查看数据行
通过索引查看指定的行数据,如df[2:5]返回df对象中索引值为2,3,4的行数据。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','张若昀','任国超']print(df[1:3])统计、计算
在DataFrame中,可以使用count()、sum()、mean()、max()、min()、describe()、groupby()等函数对DataFrame对象中的数据统计与计算。统计、计算1.分组
使用groupby()函数,可以对DataFrame对象各列或各行中的数据进行分组,然后对其中每一组数据进行不同的操作。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.groupby('sex')print(df1.mean())排序
在DataFrame中,按索引排序可以使用sort_index()函数,按值排序可以使用sort_values()函数。通过axis确定轴向,通过ascending确定顺序,排序结果返回一个新的DataFrame对象。排序2.排序
axis默认为0,对行排序,=1时,对列排序。
ascending默认为True,升序排序,=False时,降序排序。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.sort_values('math',ascending=False)print(df1)排序2.排序
axis默认为0,对行排序,=1时,对列排序。
ascending默认为True,升序排序,=False时,降序排序。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.sort_index(ascending=False)print(df1)排序2.排序
axis默认为0,对行排序,=1时,对列排序。
ascending默认为True,升序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江国际海运职业技术学院《卫星导航定位》2023-2024学年第二学期期末试卷
- 2025年悬臂式掘进机合作协议书
- 个人代收款协议
- 商业机密保密协议化
- 环保工程咨询与设计服务合同
- 服务外包项目验收及合同条款说明
- 软件测试团队工作手册与规范制定方案
- 2025年建筑设计理论基础试题及答案
- 政工程承包资料协议
- 物流运输行业运营证明(5篇)
- RULES OF ORIGIN 原产地规则
- 国内旅游出团通知书(新版)
- LETTEROFINTENTION意向书范本
- 国内各航空公司差异化服务
- 《山东省自然科学基金资助项目年度进展报告》
- 发展与教育心理学个别差异
- 2022年重庆市建筑安全员A证考试近年真题汇总(含答案解析)
- 沸腾炉的设计
- 太仓德资企业
- 电网有限公司电网建设项目档案管理办法
- 简易离职申请
评论
0/150
提交评论