文档详情

专题9 pandas数据统计 学案(含解析)2025届高中信息技术.DOCX

发布:2024-12-28约7.17万字共121页下载文档
文本预览下载声明

专题9pandas数据统计

学习目标

1.对DataFrame对象按列进行公式计算,描述DataFrame对象数据以字典中键为列的存储形式;

2.对每个键对应一列数据多个值进行切片,掌握取出不同数据区域内容的方法;

3.运用函数统计对象的平均值等操作,运用排序函数对数据进行有序排列;

4.运用groupby函数对数据进行分组的方法,并在分组的基础上进行数据统计.

Pandas有Series和DataFrame两种对象,这两种对象均有index和values属性,Series对象的values是一维的,DataFrame的values是二维的,因此DataFrame对象比Series对象多一个columns属性,可以理解为index表示行号,columns表示列名。pandas处理的对象主要是DataFrame,取出DataFrame中的一列,降维为Series对象,可以用list函数转换为列表,对某列的值进行切片,可以转换为一个数值。可以对记录选取、筛选和分组操作,灵活地区分不同类型的数据,可以对记录进行排序操作,实现数据的有序显示。可以对各条记录的字段进行遍历,统计符合要求字段值的数量、总和、平均值以及最值。

(2024年1月浙江省选考)某学院举行运动会,比赛设跳高、100米等项目,每个项目分男子组和女子组。现要进行报名数据处理和比赛成绩分析。请回答下列问题:

(1)运动会报名规则为:对于每个项目的男子组和女子组,每个专业最多各报5人(如“软件工程”专业在男子跳高项目中最多报5人)。软件工程专业的报名数据保存在DataFrame对象df中,如图a所示。若要编写Python程序检查该专业男子跳高项目报名是否符合规则,下列方法中,正确的是________(单选,填字母)。

A.从df中筛选出性别为“男”的数据dfs,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行

B.对df中数据按性别排序并保存到dfs中,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行

C.从df中筛选出项目为“跳高”的数据dfs,判断dfs中是否有连续5行以上的男生数据

(2)运动员比赛成绩的部分数据如图b所示。根据已有名次计算得,第1名至8名分别计9,7,6,5,4,3,2,1分,第8名之后计0分。实现上述功能的部分Python程序如下,请在程序中划线处填入合适的代码。

importpandasaspd

importmatplotlib.pyplotasplt

#读取如图b所示数据,保存到DataFrame对象df1中,代码略

f=[9,7,6,5,4,3,2,1]

foriinrange(0,len(df1)):

rank=df1.at[i,″名次″]#通过行、列标签取单个值

score=0

ifrank=8:

______________

df1.at[i,″得分″]=score

(3)根据上述df1中的得分数据,统计各专业总分,绘制如图c所示的柱形图,实现该功能的部分Python程序如下:

df2=dfl.groupby(″________″,as_index=False).sum()#分组求和

eq\x()

#设置绘图参数,代码略

plt.bar(x,y)

①请在程序中划线处填入合适的代码。

②程序的方框中应填入的正确代码为________(单选,填字母)

A.x=df1[″专业″]

y=df1[″总分″]

B.x=df2[″专业″]

y=df2[″得分″]

C.df1[″专业″]=″专业″

df1[″总分″]=″总分″

D.df2[″专业″]=″专业″

df2[″得分″]=″得分″

重难点1利用Pandas批量处理文件

Pandas主要功能是计算一个集合对象中某个字段的记录数量、总和、平均值和最值(最大值或最小值)。这个集合可以是通过筛选找到符合处理条件的数据(子集),也可以是通过分组,将某列相同字段值的记录组合在一起,形成一个个的分组,再分别统计各个分组的数量、和、平均值和最值。这些功能Excel软件也可以实现,但若是数据分布在多个数据文件时,Excel软件就要手工不断地打开数据,重复进行统计,而Pandas可以通过算法,利用循环结构,将这些操作让计算机自动完成。

例题小红收集了部分城市2021年全年每天PM2.5、PM10、CO浓度数据,每天的数据分别保存在以8位日期字符串命名的CSV文件中,部分文件如图a所示,每个文件记录了一天24小时的监测数据,示例如图b所示。

为统计分析城市A全年各月份PM2.5的月平均浓度(当月的日平均浓度的平均值),编写Python程序。请回答

显示全部
相似文档