内容正文:
第二节 编程处理数据
一尧选择题
1. 有如下 Python程序段院
import pandas as pd
s=pd.Series (咱2,6,8,10暂,index=咱"s01"," s02",
"s03","s04"暂)
a=s咱"s01"暂+s咱"s03"暂
b=s咱2暂+s咱3暂
print(a+b)
执行该程序段后袁输出的结果是 渊 冤
A. 22 B. 28 C. 19 D. 18
2. 有如下 Python程序段院
import pandas as pd
data={"姓名":咱"小王","小张","小李"暂,"性
别":咱"女","女","男"暂,"信息分数":咱28,46,37暂}
df1=pd.DataFrame(data,columns=咱"姓名","信
息分数","性别"暂)
p=df1咱1:2暂
t=df1.at咱2,"姓名"暂
print(df1)
执行该程序段后袁下列说法正确的是 渊 冤
A. 变量 t的值为"小张"
B. 输出结果中袁第 2列渊除索引列冤为野性别冶
C. 对象 p中只有一行记录
D. 执行语句野df1咱"信息分数"暂=40冶后袁第一
个人的信息分数会被修改为 40
3. 有如下 Python程序段院
import pandas as pd
data={"姓名":咱"张立","王强","朱明","李华"暂,
"物理":咱90,66,80,78暂,"化学":咱92,86,75,80暂}
df1=pd.DataFrame(data)
df1.化学=咱94,88,83,86暂
ans=df1.化学.max()-df1.化学.min()
print(ans)
执行该程序段后袁输出的结果是 渊 冤
A. 2 B. 11 C. 17 D. 19
4. 使用 Python 创建一个 DataFrame 对象 df1袁
代码如下院
import random
import pandas as pd
name =咱"小张 ","小刘 ","小王 ","小陈 ","小
黄","小李","小徐","小杨","小吴","小高"暂
n=len(name)
#随机生成含有 n个元素的列表
sex =咱random.choice (咱"男 ","女 "暂) for i in
range(n)暂
cla =咱random.choice (咱"A","B","C"暂) for i in
range(n)暂
score=咱random.choice(range(50,101)) for i in
range(n)暂
df1=pd.DataFrame({"班级 ":cla,"姓名 ":name,
"性别":sex,"成绩":score})
print(df1)
要想得到不同班级不同性别的平均成绩袁应
执行的操作语句是 渊 冤
A. print(df1.groupby(咱"性别"暂).mean())
B. print(df1.groupby(咱"班级"暂).mean())
C. print(df1.groupby(咱"班级","性别"暂).mean())
D. print(df1.groupby("班级","性别").mean())
5. 某 DataFrame对象 df中包含野id冶野name冶等 8
个数据列袁22个数据行袁下列语句中能读取
df 对象中某些数据列中的所有数据的是
渊 冤
A. df咱"id"暂 B. df.tail(5)
C. df.columns D. df咱2:5暂
6. 某 DataFrame对象 df中包含野准考证号冶野姓
名冶野学校冶野语文冶野数学冶等数据列袁下列语
句中袁可以以学校为单位袁统计各校学生野语
文冶成绩平均值的是 渊 冤
A. df.groupby("学校").mean()
B. df.groupby("准考证号").mean()
C. df.groupby("语文").mean()
D. df.groupby("语文").学校.mean()
7. 某 Python 程序运行结果如下袁以下四种代
码中能得到同样结果的是 渊 冤
0 89
1 393
2 23
dtype:int64
97
A. import pandas as pd
s1越pd.Series(咱89,393,23暂)
B. s1越pd.Series(89,393,23)
C. s1越pd.Series(咱89,393,23暂)
print(s1)
D. import pandas as pd
s1越pd.Series(咱89,393,23暂)
print(s1)
8. 有如下 Python程序段院
import pandas as pd
s1=pd.Series(咱1,6,7,9暂)
res=0
for i in s1.values:
res+=i
print(res)
执行程序后袁输出的结果是 渊 冤
A. 6 B. 14 C. 16 D. 23
9. 有如下 Python程序段院
import pandas as pd
data ={"姓名 ":咱"小芳 ","小唐 ","小王 ","小
明"暂,"性别":咱"女","男","女","男"暂,"剩余积
分":咱16,12,13,10暂}
df1=pd.DataFrame(data,columns=咱"姓名","性
别","剩余积分"暂)
df2=df1.head(2)
df3=df1.tail(2)
a=df2咱"剩余积分"暂.sum()
b=df3咱"剩余积分"暂.sum()
print(round(b/a,2))
执行程序后袁输出的结果是 渊 冤
A. 0.10 B. 0.28
C. 0.61 D. 0.82
10. 有如下 Python程序段院
import pandas as pd
import numpy as np
#生成 5行 4列的数据袁值为咱60,100冤之间
的随机整数
df2=pd.DataFrame(np.random.randint(60,100,(5,
4)),columns=list("ABCD"),index=list("abcde"))
print(df2.sort_values("C"))
下列关于该程序段的说法袁不正确的是
渊 冤
A. 该程序段输出结果的列索引为 ABCD
B. 该程序段输出结果的 C列为降序排列
C. 该程序段输出结果包含列索引共有 6行
D. 该程序段输出结果包含行索引共有 5列
二尧非选择题
11. 某竞赛获奖名单已公布袁现要对获奖情况
进行数据处理和分析遥 请回答下列问题院
渊1冤将获奖名单读取到 DataFrame 对象 df
中袁如图 a所示袁若要编写 pandas程序分析
出浙江省内获得满分 400 分的总人数袁下
列方法正确的是 渊单选袁填字母冤遥
A. 从 df中筛选出省份为野浙江冶的数据 df1袁
再从 df1 中筛选出总分为野400冶的数据
df2袁最后对 df2中的野姓名冶数据列使用
count()函数统计出总人数
B. 对 df中数据按野总分冶降序排列并保存
到 df1中袁再从 df1中筛选出省份为野浙
江冶的数据 df2袁最后对 df2 中的野姓名冶
数据列使用 sum()函数统计出总人数
C. 对 df中数据按野总分冶为关键字进行分
组袁并使用 count()函数统计出总人数袁
得到数据 df1袁再从 df1中筛选出省份为
野浙江冶的总人数
渊2冤提取获奖名单中的部分数据列袁结果如
图 b所示遥 小陆想统计各省份一等奖获奖
学生的准考证号袁存储在字典 dic 中袁h 为
一等奖获奖分数线遥 实现上述功能的部分
Python 程序如下袁请在画线处填入合适的
代码遥
import pandas as pd
#读取如图 b所示数据袁保存到 DataFrame
对象 df中袁代码略
图 a
图 b
98
图 b图 a
# 将 DataFrame 对象 df 转换为列表 lst袁代
码略
#列表 lst的值为咱咱"北京","BJ-0032",400暂,
噎 ,咱"江苏","JS-0009",350暂,咱"四川","SC-
0003",384暂暂
h=int(input("输入一等奖获奖分数线"))
i=0
s=""
dic={} #字典 dic中的键为省份名称袁值
为一等奖获奖学生的准考证号
while i<len(lst):
if 淤 :
city=lst咱i暂咱0暂
if city in dic:
dic咱city暂+=","+lst咱i暂咱1暂
else:
于
i+=1
淤
于
渊3冤获奖名单新增野获奖等级冶数据列袁存储
在文件野data.xlsx冶袁如图 c 所示袁小陆想分
析出一等奖获奖人数最多的前 5 个省份
渊没有并列情况冤袁并绘制如图 d 所示的柱
形图袁实现该功能的部分 Python程序如下遥
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams咱"font.sans-serif"暂=咱"SimHei"暂
#设置图表显示中文字体
df=pd.read_excel("data.xlsx")
df1= #选取相应的一等奖数据
df2=df1.groupby("省份",as_index=False).
count() #分组统计总人数
df2.rename(columns={"姓名 ":"获奖人数"},
inplace=True) #更改列标题名称
g =df2.sort_values ("获奖人数 ",ascending =
False).head(5)
plt.title ("一等奖获奖人数最多的前 5 个
省份")
plt.bar( ) #绘制柱形图
plt.ylabel("获奖人数")
plt.show()
淤请在画线处填入合适的代码院
遥
于程序的方框中应填入的正确代码为
渊单选袁填字母冤遥
A. g.省份,g.获奖人数
B. df2咱"省份"暂,df2咱"获奖人数"暂
C. g.index,g.获奖人数
D. df2.index,df2.获奖人数
12. 某投资者将一段时间内的证券操作记录保
存在文件野table.xlsx冶中袁部分界面如图 a所
示遥该投资者为了总结投资经验袁编写如下
程序袁对数据进行分析遥
图 c
图 d
北京江苏山东广东浙江
2001751501251007550250
一等奖获奖人数最多的前 5个省份
99
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams咱"font.sans-serif"暂=咱"SimHei"暂
#使图形中的中文正常编码显示
df=pd.read_excel("table.xlsx")
print( 淤 )
#筛选出所有盈利的证券操作记录
print( 于 )
#输出表格中所有操作的总盈亏
#以下代码功能为找出盈利最大的 10个证
券袁并呈现如图 b所示的图表
g=df.groupby("证券名称",as_index=False)
df1=g.盈亏.sum()
df1= 盂
print(df1咱:10暂)
plt.figure(figsize=(8,4))
plt.title("盈利前十的证券对比分析图")
plt. 榆 (df1咱:10暂.证券名称,df1咱:10暂.盈
亏,label="盈亏")
plt.xlabel("证券名称")
plt.ylabel("盈亏金额")
plt.legend()
plt.show()
请在画线处填入合适的代码遥
淤
于
盂
榆
13. 小红收集了某平台的销售数据袁部分数据
如图 a所示遥
为了在销售利润最高的野商品品类冶的客户
中 袁统计出不同年龄段的人数 袁她编写
Python程序如下遥 请回答下列问题院
渊1冤计算订单野销售利润冶的规则为院销售利
润=销售单价伊销售数-进货总价遥实现该计
算的 Python程序如下袁请在画线处填入合
适的代码院 遥
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel("data.xlsx")
df咱"销售利润"暂=
渊2冤找出销售利润总和最高的野商品品类冶
并存储在 maxt中遥实现该功能的 Python程
序如下袁请在画线处填入合适的代码遥
df1=df.groupby(" 淤 ").sum()
maxt=df1.index咱0暂
for i in df1.index咱1:暂:
pft=df1.at咱i,"销售利润"暂
if pft>df1.at咱maxt,"销售利润"暂:
于
淤
于
渊3冤为统计 maxt 中不同客户年龄段的人
数袁程序运行结果如图 b所示袁部分 Python
程序如下袁请在画线处填入合适的代码遥
nums=咱0暂*5;ages=咱30,40,50,60暂
df2=df咱df.商品品类==maxt暂.sort_values("客
户年龄")
j=0;n=len(df2)
for i in range(0,4):
st=j
while j<n and df2.at咱df2.index咱j暂,"客
户年龄"暂<=ages咱i暂:
j=j+1
nums咱i暂= 淤
nums咱4暂=len(df2)-j
xlabel=咱"30岁以下","31~40岁","41~50岁",
"51~60岁","61岁以上"暂
plt.bar(xlabel, 于 )
plt.show()
淤
于
图 a
30岁以下 61岁以上51~60岁41~50岁31~40岁
5 000
4 000
3 000
2 000
1 000
0
图 b
100
flag=1袁因此该空应该为月份的判断是否为 2月份遥
于空联系上下代码袁以及满足表达式后 check=False袁
可明确该空需要填写表达式的功能是不能满足题
目要求中的野对称日冶袁则首先需要检验 check==True袁
因为第一个 if已经检验了 m的值袁月份已经满足
要求袁故还需要检验每个月的天数是否符合要求袁
每月的天数存放在列表 lst中袁可以用 d>lst咱m-1暂+
flag来表示遥 盂空根据代码结构可知是为了返回调
用函数的结果遥 渊2冤根据上文可知 k1仅仅是年份
值袁需要构造月份和日期袁同时根据题目要求的野对
称日冶袁月份和日期刚好和年份相反遥
8. 渊1冤枚举 渊2冤淤1,9 于9 盂d*1000+c*100+
b*10+a
揖解析铱渊1冤for循环遍历所有可能的解袁然后逐一判
断每个答案是否符合条件袁属于枚举算法遥 渊2冤淤a
的值只能是 1袁a若等于 2以上的数字乘以 9袁结果
就会成为 5位数曰a是 1袁d只能是 9袁9*9个位数才
能取到 1遥 于根据 a==b or a==c得出 b的取值在
0~8之间袁若是和 a的值相同则跳过袁所以填写 9遥
盂正读和翻转等值袁则输出结果遥
9. 渊1冤阴阴翌 渊2冤淤x=i咱1:暂渊或 x=i咱1::暂或 x=咱1:len(i)暂
或其他等价表达式冤 于ca>=7 and cb>=7
盂y=score//5
揖解析铱渊2冤淤每个评审打分包括类型和分数两项袁
需要从字符串中将分数 x 切片切出曰于题干中规
定了两组评审中任意一组评审人数少于 7人则本
轮无效袁所以需要判断 ca尧cb中统计的两组评审人
数曰盂计算野阴冶的数量遥
10. 淤c=a咱j暂 于sum-=int(n) 盂a咱i:j+1暂 榆j+=1
揖解析铱淤根据下一行代码野sum+=int(c)冶可知袁此
处要对变量 c进行赋值袁并且 c的值为字符串型袁
易知变量 sum统计连续字串的和袁 变量 j为数字
字符串 a的索引袁故填入代码为 c=a咱j暂曰于当 sum
的值大于 s时袁需要减去连续字串中第一个累加
到 sum中的值袁然后将连续字串向后移动一位袁
变量 i表示连续字串的第一个位置索引袁代码野n=
a咱i暂冶表示取出该字符存储在变量 n中袁故填入代
码为 sum-=int(n)曰盂连续字串的第一个位置索引
为 i袁最后一个位置索引为 j袁故填入代码为 a咱i:j+
1暂曰榆变量 j为数字字符串 a的索引袁步长为 1袁故
填入代码为 j+=1遥
第四章 数据处理与应用
第一节 常用表格数据的处理
1. C
2. A
3. C揖解析铱2月没有 30日遥
4. B揖解析铱绝对引用的符号需要放在字母和数字的
前面遥
5. D揖解析铱相对引用随单元格变化袁绝对引用不随单
元格变化遥
6. C揖解析铱数据缺失问题最简单的处理方法是忽略
含有缺失值的实例或属性袁也可以采用平均值尧中
间值或概率统计值来填充缺失值曰异常数据不能直
接删除或忽略曰格式不一致的数据可根据后续分析
和挖掘的需要进行数据转换遥
7. B揖解析铱数据的质量直接影响数据分析的结果遥
8. 渊1冤=AVERAGE(H34:H40) 渊2冤B1袁B10:B16袁I1袁
I10:I16 渊3冤ABD
揖解析铱渊3冤A34是合并单元格袁排序时不可选择袁C
错误遥
第二节 编程处理数据
1. B揖解析铱按照索引提取值遥
2. C揖解析铱A. df1对象的行索引 index为默认索引 0尧
1尧2袁df1.at咱2,"姓名"暂即选取 df1对象中第 3行渊行
索引为 2冤野姓名冶列的值曰B. 输出结果中袁除索引
列外袁第 1列是野姓名冶袁第 2列是野信息分数冶袁第 3
列是野性别冶曰C. dfl咱1:2暂查看指定的行数据袁包含
起始值袁不包含终值曰D. 语句野df1咱"信息分数"暂=
40冶为赋值语句袁执行后袁所有的信息分数都会被修
改为 40遥
3. B揖解析铱程序利用字典创建 DataFrame对象袁然后
修改野化学冶列的值袁再计算野化学冶列的最大值与最
小值之差袁即 ans=94-83=11遥
4. C揖解析铱groupby()函数表示对各列或各行中的数据
进行分组袁然后对其中每一组数据进行不同的操
作袁mean()函数表示求平均值袁要求不同班级不同
性别的平均值袁groupby()函数的参数应为咱"班级","
性别"暂遥
5. A揖解析铱df咱"id"暂用于查看 df对象的野id冶列数据曰
df.tail(5)用于查看 df对象的尾 5行数据曰df.columns
用于查看 df对象的列标题曰df咱2:5暂用于查看 df对
象的第 2尧3尧4行遥
6. A揖解析铱df.groupby("学校 ").mean()是以学校为单位袁
统计各校学生各列的成绩平均值袁包括野语文冶遥
7. D揖解析铱该运行结果属于一维的数据结构 Series袁
需要运用 pandas模块遥 此外袁为了得到运行结果袁
算法必须包含至少一个输出遥
8. D揖解析铱该程序段创建了一个 Series对象 s1袁i遍
历 s1中的各个值袁res=1+6+7+9=23遥
9. D揖解析铱DataFrame对象 df2为对象 df1的前两行数
据袁对象 df3 为对象 df1 最后两行数据袁求出对象
df2中剩余积分的总和并赋值给 a袁求出对象 df3中
剩余积分的总和并赋值给 b袁最后求出 round(b/a,2)
的值袁输出结果为 0.82遥
10. B揖解析铱sort_values()函数表示排序袁默认纵向升
序排列袁若增加 ascending=False则表示降序排列遥
11. 渊1冤A 渊2冤淤lst咱i暂咱2暂>=h 于dic咱city暂=lst咱i暂咱1暂
渊3冤淤df咱df.获奖等级=="一等奖"暂渊或 df咱df咱"获
奖等级"暂=="一等奖"暂冤 于C
揖解析铱渊1冤B. sum()函数用于统计数值袁因此对
202
野姓名冶数据列使用 sum()函数统计袁不能正确得出
人数曰C. 对 df中数据按野总分冶为关键字进行分
组袁并使用 count()函数统计出总人数后袁无法通过
筛选省份得到浙江的总人数遥 渊2冤遍历 lst列表切
片取出分数与分数线 h比较袁超过分数线则需记
录省份名称袁判断省份名称是否已存在于字典
中袁如果在则将新的准考证号连接上去袁若不存
在则新建一个键值对遥 渊3冤淤选取相应的一等奖数
据遥 于结合上文 df2=df1.groupby("省份",as_index=
False).count()可知袁野省份冶已经作为索引袁按照野获
奖人数冶进行了降序排序袁选取前 5条记录袁存入
DataFrame对象 g中袁 因此绘制图像时袁 应该使
用院g.index,g.获奖人数遥
12. 淤df咱df咱"盈亏"暂>0暂渊或 df咱df.盈亏>0暂冤 于df.盈
亏.sum()渊或 df咱"盈亏"暂.sum()冤 盂df1.sort_values
("盈亏",ascending=False) 榆bar
揖解析铱淤筛选的条件为 df咱"盈亏"暂>0遥 于该题为
列求和袁df咱"列名"暂.sum()或者 df.列名.sum()遥 盂该
题为按列数据降序排序遥 榆由图可知所得的图为
垂直柱形图遥
13. 渊1冤df咱"销售单价"暂*df咱"销售数"暂-df咱"进货总价"暂
渊2冤淤商品品类 于maxt=i 渊3冤淤j-st 于nums
揖解析铱渊2冤淤其根据商品品类进行分类统计袁分
类统计之后袁商品品类列变成了行索引遥 于由上
问可知袁其行索引为商品品类遥 因此 maxt最后存
储其最大值得行索引就为其结果袁其结果为 maxt=
i遥渊3冤淤st记录小于当前年龄段开始的人数袁野while
j<n and df2.at咱df2.index咱j暂,"客户年龄"暂<=ages
咱i暂:冶即依次寻找小于当前年龄段的人数渊包括前
一年龄段冤袁nums咱i暂记录所有小于当前年龄段的
人数减去小于前一年龄段的人数遥 于y轴为 nums袁
表示各个年龄段的人数遥
第三节 文本数据处理及大数据
1. D
2. C揖解析铱有关差异的可视化用来探寻多种变量的
对象与同类之间的差异和联系袁常用雷达图表示遥
3. C揖解析铱利用可视化技术袁可以将处于不断变化中
的数据生成实时变化的可视化图表曰不同的数据类
型决定了可视化的表现形式曰展现时间趋势类的数
据可采用柱形图和折线图遥
4. D揖解析铱大数据要分析全体样本而不是抽样调查袁
大数据技术支持大数据的全样处理曰大数据商品个
性化推荐中分析的是用户购买商品之间的关联性袁
而不是用户购买该商品的原因曰文本数据处理的一
般步骤是分词尧特征提取尧数据分析和结果呈现遥
5. A
6. D揖解析铱中文分词后须进行特征提取曰标签云用词
频表现文本特征袁将关键词按照一定的顺序和规律
排列袁不显示全部词语曰野得失冶比野初心冶出现的频
率高遥
7. D揖解析铱随着时间的流逝袁流数据的价值一般会随
之降低遥
8. D
9. D揖解析铱大数据时代袁数据的来源众多袁既有人工
产生的袁也有机器自动产生的曰大数据要分析的是
全体数据而不是抽样数据曰对于大数据的处理不再
追求精确性袁而是能够接受数据的混杂性遥
10. C揖解析铱MapReduce是一种分布式并行计算模型袁
当数据量很大时袁它的优势就体现出来了袁其核
心处理思想是将任务分解并分发到多个节点上
进行处理袁最后汇总输出遥
11. B
12. A
13. D揖解析铱数据贯穿在智能交通的感知尧处理尧应用
等各个环节袁交通大数据是智能交通中野智能冶的
基础遥
14. B揖解析铱静态数据使用批处理模式袁流计算模式
用于处理流数据遥
15. 渊1冤盂于淤榆 渊2冤A 渊3冤淤counts咱word暂+1
于1
揖解析铱渊1冤文本数据处理的一般流程为获取数据
源寅分词寅特征提取寅数据分析寅结果呈现遥
渊2冤jieba默认分词模式为精确模式袁全模式对应
代码 jieba.lcut(text,ut_all=True)袁搜索引擎模式对
应代码为 jieba.lcut_for_search(text)遥 渊3冤counts是
用来记录词频的字典袁若 word已经在字典中袁将
其对应值加 1袁否则设置其值为 1袁故淤处和于处
填入代码分别为 counts咱word暂+1和 1遥
第五章 人工智能及应用
第一节 人工智能的产生与发展
1. D揖解析铱传感器采集数据属于传感技术曰数据自动
发送到服务器体现了数据输入与传输功能曰刷身
份证识别用户信息属于射频识别技术曰指纹识别身
份认证属于人工智能技术中的生物特征识别遥
2. A揖解析铱B属于跨领域人工智能曰人工智能都是需
要数据的曰人工智能在改善人类生活尧促进经济发
展的同时也会威胁人类安全遥
3. A揖解析铱问题引导下试错学习属于行为主义曰人类
智能是智能回路的总开关曰人工智能发展会有两
面性袁要重视负面的影响遥
4. C揖解析铱人工智能可以进行文本情感分析曰深度
学习是联结主义的典型代表曰训练样本数量越多袁
神经网络的性能不一定最好遥 训练样本数据越多袁
预测越好袁但是当训练样本量大袁如果网络层次太
少袁特征训练不充分袁将会导致训练不充分袁性能不
一定能同步增加遥
5. C揖解析铱行为主义需要在环境的交互中不断学习曰
图灵测试是测试机器是否具有智能的一种方法袁不
是唯一方法曰专家系统是符号主义的典型代表遥
203