说在前面:
大三上学期期末由于疫情,被逼得一天准备一科都行,而这学期大三下期只有两科,考前都没准备好。最主要的原因就是大数据分析技术题库太难,而且考试也不全是题库上的,印象很深的就是找“张姓”同学个数和成绩等这个大题15分,平时练了,但是题库上没有。
另外,题库上有些题目也有点问题。为了以后学弟学妹能轻松点,同时为了避免侵权,也为了能给学弟学妹们一点空间练习,仅把我自己原创以及确定的答案和发现的问题发出来。
参考代码中遇到要打开文件的情况,就将代码和文件放到一起,这样不需要完整的路径也可以执行了。文件有的数据不完整,就只是看到本题或者其他题目的图片,简单创建了一个文件测试执行结果。如果发现有问题,欢迎指出,我予以改正!真羡慕你们有这么好的学姐。
1.
(1)p = data.cumsum()/data.sum()
(2)p.plot(color = ‘r’, secondary_y = True, style = ‘–o’,linewidth = 1)
(3)plt.annotate(format(p[6], ‘.4%’), xy = (6, p[6]), xytext=(60.9, p[6]0.9),
(4)arrowprops=dict(arrowstyle="->", connectionstyle=“arc3,rad=.5”))
下列说法错误的是(D)
A.(1)中cumsum是累计上和
B.(2)secondary_y = True表示连个纵坐标
C.(3)中format(p[6], ‘.4%’)小数点后面取4位
D.(2)中style = ‘–o’表示画实线
2.
from future import print_function
import pandas as pd
catering_sale = ‘…/data/catering_sale_all.xls’ #餐饮数据,含有其他属性
data = pd.read_excel(catering_sale, index_col = u’日期’)
x=data.corr()
print(x)
的输出是(D)
A.数据中的日期值 B.数据按日期排序的值
C.与日期有关的相关系数 D.相关系数矩阵
参考代码:
from future import print_function
import pandas as pd
catering_sale = ‘catering_sale.xls’ #餐饮数据,含有其他属性
data = pd.read_excel(catering_sale, index_col = u’日期’)
x=data.corr()
print(x)
3.
已知Python代码如下:
import numpy as np
import pandas as pd
a=[11,23,44,43]
b=np.array(a)
c=pd.Series(b)
d=pd.DataFrame©
print()
则处错误的表达式是(A)
A.a.min() B.b.mean()
C.c.sum() D.d.max()
参考代码:
import numpy as np
import pandas as pd
a=[11,23,44,43]
b=np.array(a)
c=pd.Series(b)
d=pd.DataFrame©
#####print(a.min())有错####
#####print(min(a))改成这个才对##########
print(b.mean())
print(c.sum())
print(d.max())
4.
import numpy as np
import pandas as pd
a=(11,23,44,43)
b=list(a)
c=np.array(b)
d=pd.Series©
index=.idxmax()
print(index)
上面程序中处可以是(D)
A.a B.b C.c D.d
参考代码:
import numpy as np
import pandas as pd
a=(11,23,44,43)
b=list(a)
c=np.array(b)
d=pd.Series©
##########index=a.idxmax()有错##########
##########index=b.idxmax()有错##########
##########index=c.idxmax()有错##########
index=d.idxmax()
print(index)
5.
import numpy as np
import pandas as pd
a=(11,23,44,43)
b=list(a)
c=np.array(b)
d=pd.Series©
index=.idxmin()
print(index)
上面程序中处可以是(D)
A.a B.b C.c D.d
参考代码:
import numpy as np
import pandas as pd
a=(11,23,44,43)
b=list(a)
c=np.array(b)
d=pd.Series©
##########index=a.idxmin()有错##########
##########index=b.idxmin()有错##########
##########index=c.idxmin()有错##########
index=d.idxmin()
print(index)
6.
import numpy as np
import pandas as pd
a=[2,1,4,5,6,3]
d=pd.Series(a)
print(d.idxmax())
执行的结果是(A)
A.4 B.5 C.6 D.3
7.
import numpy as np
import pandas as pd
b=np.array([[2,7,3],[4,1,5]])
d2=pd.DataFrame(b)
d4=d2.idxmax(axis=1)
try:
print(“索引是:%d”% d4[0]+",%d" % d4[1])
except:
print(“索引是:%d”% d4[0])
(B)
A.索引是:2,1
B.索引是:1,2
C.索引是:1
D.索引是:2
5.
import numpy as np
import pandas as pd
a=np.array([[2,7,3],[4,1,5]])
d1=pd.DataFrame(a)
d3=d1.idxmax(axis=0) #各行中的最大值的位置
print(d3)
input()
try:
print(“索引是%d”% d3[0]+",%d" % d3[1]+",%d" % d3[2])
except:
print(“索引是%d”% d3[0]+",%d" % d3[1])
的运行结果是(A)
A.结果是:1,0,1
B.结果是:1,0
C.结果是:1,2
D.结果是:7,5
发现的问题:
注释:“各行”错了,应该是各列最大值的位置,axis=1才是各行。执行的时候要删去input()行才会出结果,个人理解的出现了input()就是只执行其以前的代码
完整的结果是:
0 1
1 0
2 1
dtype: int64
索引是1,0,1
6. import numpy as np
import pandas as pd
a=np.array([[2,7,3],[4,1,5]])
a=pd.DataFrame(a)
b=a.stack()
c=list(b)
print©
执行结果是(A)
A.[2 7 3 4 1 5]
B.[4 1 5 2 7 3]
C.[2 4 7 1 3 5]
D.[[2 7 3 4 1 5]]
发现的问题:
这道题其实是没有答案的,因为正确的执行结果是有逗号分隔的。
正确的结果是:
[2, 7, 3, 4, 1, 5]
10.
abs_ = (data[u’预测值’] - data[u’实际值’]).abs()
mae_ = abs_.mean() # mae
rmse_ = ((abs_**2).mean())**0.5 # rmse
mape_ = (abs_/data[u’实际值’]).mean() # mape
则mae_、rmse_、mape_ 分别表示( A )
A.平均绝对误差、均方根误差、平均绝对百分误差
B.平均绝对误差、平均绝对百分误差、均方根误差
C.均方根误差、平均绝对误差、平均绝对百分误差
D.均方根误差、平均绝对百分误差、平均绝对误差
7.
列表和元组的函数没有( )
A.cmp(a,b) B.len(a) C.max(a) D.sort(a)
发现的问题:
A和D都有问题,但是是单选,其他参考答案给的是D
12.
列表和元组的函数没有( )
A.cmp(a,b) B.length(a) C.min(a) D.sorted(a)
发现的问题:
A和D都有问题,但是是单选,其他参考答案给的是D
参考代码:11题和12题合并一起
a=[2,1]
b=[3,4]
c=(2,1)
d=(3,4)
##########cmp(a,b)有错############
len(a)
############length(a)有错###########
min(a)
#######sort(a)有错#########
sorted(a)
sort(a)
13.
列表的相关方法错误的是( C )
A.a.append(1) B.a.count(2) C.a.append(1,2) D.a.index(1)
参考代码:
a=[5,6]
a.append(1)
a.count(2)
####a.append(1,2)有错########
a.index(1)
8.
9. a为一个列表,下列说法正确的是(D)
A.a.insert(2,1)在列表a中索引为1的位置插入2
B.a.pop(2)在列表a中移除值为2的元素
C.a.append(3)在元组中的末尾添加3
D.del(a[0])将列表的第一个元素删除
解析:
A项是索引为2的位置插入1;B项移除索引为2的元素;C项是列表中的末尾添加3
参考代码:
a=[5,6,7,9]
a.insert(2,1)
print(a)
b=[2,5,6,7,9]
b.pop(2)
print(b)
a.append(3)
print(a)
del(a[0])
print(a)