充值活动已开启,快来参与吧 关闭充值活动
当前位置: 高中信息技术 /
  • 1. 某学院举行运动会,比赛设跳高、100米等项目,每个项目分男子组和女子组。现要进行报名数据处理和比赛成绩分析。请回答下列问题:

    图 a

    图 b

    1. (1) 运动会报名规则为:对于每个项目的男子组和女子组,每个专业最多各报5人(如“软件工程”专业在男子跳高项目中最多报5人)。软件工程专业的报名数据保存在DataFrame对象df中,如图a所示。若要编写Python程序检查该专业男子跳高项目报名是否符合规则,下列方法中,正确的是 ______ (单选,填字母)。
      A . 从df中筛选出性别为“男”的数据dfs,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行 B . 对df中数据按性别排序并保存到dfs中,再从dfs中筛选出项目为“跳高”的数据,判断筛选出的数据行是否超过5行 C . 从df中筛选出项目为“跳高”的数据dfs,判断dfs中是否有连续5行以上的男生数据
    2. (2) 运动员比赛成绩的部分数据如图b所示。根据已有名次计算得,第1名至8名分别计9,7,6,5,4,3,2,1分,第8名之后计0分。实现上述功能的部分Python程序如下,请在程序中划线处填入合适的代码。

      import pandas as pd

      import matplotlib.pyplot as plt

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

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

      for i in range(0,len(dfl)):

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

          score = 0

          if rank <= 8:

             

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

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

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

      #设置绘图参数,代码略

      plt.bar(x,y) #绘制柱形图

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

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

      A.x = df1["专业"]

      y = df1["总分"]

      B.x = df2["专业"]

      y = df2["得分"]

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

      df1["总分"] = "总分"

      D.Df2["专业"] = "专业"

      Df2["得分"] = "得分"