Python数据分析基础与应用电子活页6-8实现Pandas数据分组与聚合运算_第1页
Python数据分析基础与应用电子活页6-8实现Pandas数据分组与聚合运算_第2页
Python数据分析基础与应用电子活页6-8实现Pandas数据分组与聚合运算_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python数据分析基础与应用模块电子活页6-8实现pandas数据分组与数据聚合【技能训练6-18】实现pandas数据分组与数据聚合【训练要求】在JupyterNotebook开发环境中创建j6-18.ipynb,然后编写代码实现pandas数据分组与数据聚合。【实施过程】1.pandas数据分组(1)创建DataFrame对象创建一个DataFrame对象,其中包含两个小组学生的姓名、组别、性别、年龄和3门课程的成绩。代码如下:importnumpyasnpimportpandasaspddata1={'name':['安静','路远','温暖','向北','阳光','白雪','夏天','云朵'],'group':[1,1,1,1,2,2,2,2],'sex':['女','男','男','女','男','女','男','女'],'age':[21,20,19,22,23,18,20,22],'score1':[71,80,89,92,65,84,78,92.5],'score2':[82,72,96,88,93.5,83,77,68.5],'score3':[86.0,82.5,95.0,90.5,73,86.5,67,94]}label1=['stu1','stu2','stu3','stu4','stu5','stu6','stu7','stu8']df1=pd.DataFrame(data1,index=label1)df1输出结果:(2)创建groupby对象①根据一列分组。代码如下:#根据组别进行分组group1=df1.groupby('group')②根据多列分组。代码如下:#根据组别和性别进行分组group2=df1.groupby(['group','sex'])也可以指定多个列索引进行分组。(3)通过get_group()函数选择组内的具体数据项代码如下:#根据对应组的数据值,选择一个组print(group1.get_group(1))输出结果:(4)使用groups属性查看分组结果①查看根据一列分组的结果。代码如下:#查看分组print(df1.groupby('group').groups)输出结果:{1:['stu1','stu2','stu3','stu4'],2:['stu5','stu6','stu7','stu8']}②查看根据多列分组的结果。代码如下:#查看分组print(df1.groupby(['group','sex']).groups)输出结果:{(1,'女'):['stu1','stu4'],(1,'男'):['stu2','stu3'],(2,'女'):['stu6','stu8'],(2,'男'):['stu5','stu7']}(5)遍历分组数据使用for循环遍历分组数据。代码如下:forkey,nameingroup1:#其中key代表分组后字典的键,也就是groupprint(key)#各组对应的数据print(name)输出结果:1namegroupsexagescore1score2score3stu1安静1女2171.082.086.0stu2路远1男2080.072.082.5stu3温暖1男1989.096.095.0stu4向北1女2292.088.090.52namegroupsexagescore1score2score3stu5阳光2男2365.093.573.0stu6白雪2女1884.083.086.5stu7夏天2男2078.077.067.0stu8云朵2女2292.568.594.0groupby对象的组名与group列中的元素一一对应。2.pandas数据聚合(1)应用一个聚合函数求平均值代码如下:#应用一个聚合函数求平均值group1['score1'].agg(np.mean)输出结果:group183.000279.875Name:score1,dtype:float64上述代码中把score1作为分组键,将DataFrame对象拆分为1、2两个小组,然后调用mean()函数,使其分别作用于1、2两组中,计算每组的平均值,最后将计算结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论