Python数据分析挖掘与可视化第2版董付国课后参考答案_第1页
Python数据分析挖掘与可视化第2版董付国课后参考答案_第2页
Python数据分析挖掘与可视化第2版董付国课后参考答案_第3页
Python数据分析挖掘与可视化第2版董付国课后参考答案_第4页
Python数据分析挖掘与可视化第2版董付国课后参考答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

第1章Python开发环境搭建与编码规范一、多选题1.BD 2.ABCD 3.ABCD二、判断题1.对 2.错 3.错 4.错 5.对第2章数据类型、运算符与内置函数一、填空题1.-10 2.{50,70,40,60} 3.{40,60} 4.{50} 5.'3'二、判断题1.错 2.对 3.对 4.错三、编程题1.data=eval(input('请输入包含若干自然数的列表:'))avg=sum(data)/len(data)avg=round(avg,3)print('平均值为:',avg)2.data=eval(input('请输入包含若干自然数的列表:'))print('降序排列后的列表:',sorted(data,reverse=True))3.data=eval(input('请输入包含若干自然数的列表:'))data=map(str,data)length=list(map(len,data))print('每个元素的位数:',length)4.data=eval(input('请输入包含若干自然数的列表:'))print('绝对值最大的数字:',max(data,key=abs))5.fromoperatorimportmulfromfunctoolsimportreducedata=eval(input('请输入包含若干自然数的列表:'))print('乘积:',reduce(mul,data))6.fromoperatorimportmulfromfunctoolsimportreducevec1=eval(input('请输入第一个向量:'))vec2=eval(input('请输入第二个向量:'))print('内积:',sum(map(mul,vec1,vec2)))第3章列表、元组、字典、集合与字符串一、填空题1.None 2.[3,4] 3.3 4.97二、判断题1.错 2.错 3.对 4.错三、编程题1.fromcollectionsimportCountertext=input('请输入一个字符串:')frequencies=Counter(text)print(frequencies)2.text=input('请输入一个字符串:')positions=[(ch,index)forindex,chinenumerate(text)iftext.index(ch)==text.rindex(ch)]print(positions)3.text=input('请输入一个字符串:')positions=[(ch,index)forindex,chinenumerate(text)ifindex==text.rindex(ch)]print(positions)4.fromoperatorimport__or__fromfunctoolsimportreducesets=eval(input('请输入包含若干集合的列表:'))union=reduce(__or__,sets,set())print(union)5.text=input('请输入一个字符串:')result=[chr(abs(ord(ch)-ord(text[index+1])))forindex,chinenumerate(text[:-1])]result.append(chr(abs(ord(text[-1])-ord(text[0]))))print(''.join(result))6.text=input('请输入一个字符串:')iftext==text[::-1]:print('Yes')else:print('No')四、操作题fromstringimportdigitsfromrandomimportchoicefromcollectionsimportCounterz=''.join(choice(digits)foriinrange(1000))result=Counter(z)fordigit,freinsorted(result.items()):print(digit,fre,sep=':')第4章选择结构、循环结构、函数定义与使用一、填空题1. 5 2.True3.frommathimportpiasPIdefCircleArea(r):ifisinstance(r,(int,float))andr>0:returnPI*r*relse:print('半径必须为大于0的整数或实数')4.defdemo(*para):returnsum(para)/len(para)5.defrate(origin,userInput):right=sum(map(lambdaoc,uc:oc==uc,origin,userInput))returnright二、编程题1.deffactoring(n):'''对大数进行因数分解'''ifnotisinstance(n,int):print('Youmustgivemeaninteger')return#小于n的所有素数primes=[pforpinrange(2,n)if0notin[p%dfordinrange(2,int(p**0.5)+1)]]#开始分解,把所有因数都添加到result列表中result=[]forpinprimes:whilen!=1:ifn%p==0:n=n//presult.append(p)else:breakelse:returnresult#考虑参数本身就是素数的情况ifnotresult:return[n]print(factoring(308))2.defcompute(n,a):returnsum(map(lambdai:int(str(a)*i),range(1,n+1)))print(compute(3,5))3.fromitertoolsimportcycledefdemo(lst,k):#切片,以免影响原来的数据t_lst=lst[:]#游戏一直进行到只剩下最后一个人whilelen(t_lst)>1:#创建cycle对象c=cycle(t_lst)#从1到k报数foriinrange(k):t=next(c)#一个人出局,圈子缩小index=t_lst.index(t)t_lst=t_lst[index+1:]+t_lst[:index]#游戏结束returnt_lst[0]lst=list(range(1,11))print(demo(lst,3))4.defisPalindrome(text):'''循环,首尾检查'''length=len(text)foriinrange(length//2+1):iftext[i]!=text[-1-i]:returnFalsereturnTrueprint(isPalindrome('deed'))print(isPalindrome('need'))三、操作题defmyCycle(iterable):whileTrue:foriteminiterable:yielditemc=myCycle('abcd')foriinrange(20):print(next(c))第5章文件操作一、判断题1.对 2.错 3.对 4.对二、操作题1.fromdocximportDocumentfromdocx.sharedimportRGBColorboldText=[]redText=[]doc=Document('test.docx')forpindoc.paragraphs:forrinp.runs:#红色字体ifr.font.color.rgb==RGBColor(255,0,0):print(r.text)2.fromdocximportDocumentd=Document('测试.docx')forpind.paragraphs:forindex,runinenumerate(p.runs):if=='Hyperlink':print(run.text,end=':')forchildinp.runs[index-2].element.getchildren():text=child.textiftextandtext.startswith('HYPERLINK'):print(text[12:-2])3.withopen('information.txt',encoding='utf')asfp:fp.seek(300)print(fp.read(50))fp.seek(900)print(fp.read(50))4.fromopenpyxlimportload_workbook#3个字典分别存储按员工、按时段、按柜台的销售总额persons=dict()periods=dict()goods=dict()ws=load_workbook('超市营业额.xlsx').worksheets[0]forindex,rowinenumerate(ws.rows):#跳过第一行的表头ifindex==0:continue#获取每行的相关信息_,name,_,time,num,good=map(lambdacell:cell.value,row)#根据每行的值更新三个字典persons[name]=persons.get(name,0)+numperiods[time]=periods.get(time,0)+numgoods[good]=goods.get(good,0)+numprint(persons)print(periods)print(goods)5.fromopenpyxlimportload_workbookwb=load_workbook('每个人的爱好.xlsx')ws=wb.worksheets[0]forindex,rowinenumerate(ws.rows):ifindex==0:titles=tuple(map(lambdacell:cell.value,row))[1:]lastCol=len(titles)+2ws.cell(row=index+1,column=lastCol,value='所有爱好')else:values=tuple(map(lambdacell:cell.value,row))[1:]result=','.join((titles[i]fori,vinenumerate(values)ifv=='是'))ws.cell(row=index+1,column=lastCol,value=result)wb.save('每个人的爱好汇总.xlsx')第6章numpy数组与矩阵运算一、填空题1.pipinstallnumpy 2.7 3.12 4.12.0 5.56.True 7.(4,4) 8.16 9.(3,) 10.(3,4)11.30 12.25 13.32 14.1 15.5516.72 17.3 18.15.0 19.15 20.621.2 22.[[2.53.54.5]] 23.matrix([[55]])二、判断题1.错 2.错 3.错 4.对 5.错 6.对 7.对8.错 9.对 10.对 11.对 12.对 13.对 14.对15.对 16.对 17.对 18.对第7章pandas数据分析实战1.importpandasaspddf=pd.read_excel('超市营业额2.xlsx')df=df.loc[:,['日期','交易额']].groupby('日期',as_index=False).sum()df=df.nsmallest(3,'交易额')df['weekday']=pd.to_datetime(df['日期']).dt.day_name()print(df)2.importpandasaspddf=pd.read_excel('超市营业额2.xlsx')df['工号']=df['工号'].map(lambdas:str(s)[-1]+str(s))df.to_excel('超市营业额2_修改工号.xlsx',index=False)3.importpandasaspddf=pd.read_excel('超市营业额2.xlsx')writer=pd.ExcelWriter('各员工数据.xlsx')names=set(df['姓名'].values)fornameinnames:dff=df[df.姓名==name]dff.to_excel(writer,sheet_name=name,index=False)writer.save()4.importpandasaspdimportmatplotlib.pyplotaspltimportmatplotlib.font_managerasfmdf=pd.read_excel('超市营业额2.xlsx',usecols=['日期','柜台','交易额'])df=df.groupby(by=['日期','柜台'],as_index=False).sum()df=df.pivot(index='日期',columns='柜台',values='交易额')df.plot()myfont=fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')plt.xlabel('日期',

温馨提示

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

评论

0/150

提交评论