《实验二Python语言基础函数包练习》由会员分享,可在线阅读,更多相关《实验二Python语言基础函数包练习(6页珍藏版)》请在金锄头文库上搜索。
1、文档来源为:从网络收集整理.word 版本可编辑.欢送下载支持.试验二 Python 语言根底函数包练习姓名: 季鹏班级:1208学号:20试验目的1、娴熟把握 Python 语言根底函数包,如 math、NumPy、SciPy 和 Matplotlib 等函数包的使用试验内容练习 1 根本统计可视化:Step 1. 导入编程所需要函数包:Step 2. 柱状图可视化:可视化结果将图粘贴到这个位置:Step 3. 散点图可视化:可视化结果将图粘贴到这个位置:Step 4:box-plot 可视化可视化结果将图粘贴到这个位置:Step 5: 三次样条插值可视化结果将图粘贴到这个位置:练习内容1、
2、要求读取某课程期末考试的成果“scores.c,sv字”段信息如下: ID: 学号;fscore:期末考试成果groupe:分组组别 class:班级 score1:第一次寻常成果score2:其次次寻常成果score3:第三次寻常成果score:最终综合成果要求:1) 分别画出四个成果的柱状图,观看是否满足正态分布;2) 分别拟合第一次、其次次、第三次成果和期末考试成果之间的关系;3) 分别依据班级和组别做boxplot,观看每一组和每一班之间成果的浮动区间。提示 1: 读取 csv 文件import csvin_file = open(”scores.csv”, ”r”)csv_reade
3、r = csv.reader(in_file, delimiter=”,”) # read the header infoheader = csv_reader.next() print header代码#coding UTF-8 import numpy as np import scipy as spyimport matplotlib.mlab as mlab import matplotlib.pyplot as plt from scipy.optimize import leastsq import pylab as plimport csvin_file =open(”E:stu
4、dtstudylearnpythongisExperiment2Experiment2scores.csv”,”r”) csv_reader=csv.reader(in_file,delimiter=”,”)# read the header info header= csv_reader.next() #print header#define ID=group= Class= fscore= score1= score2= score3= score= #read datafor line in csv_reader: #ingnore firstlineif csv_reader.line
5、_num=0: continueID.append(line0) fscore.append(line1) group.append(float(line2) Class.append(float(line3) score1.append(float(line4) score2.append(float(line5) score3.append(float(line6) score.append(float(line7)#print ID#print group #print score plt.figure(1) #score1 plt.subplot(411)n1,bins1,patche
6、s1=plt.hist(score1,25,normed=1,facecolor=”green”,alpha=0.8) y1=mlab.normpdf(bins1,100,15)l=plt.plot(bins1,y1,”r-”,linewidth=1) plt.xlabel(”ID”)plt.ylabel(”score1”) plt.title(”Histogram of score”) #score2plt.subplot(412) n1,bins1,patches1=plt.hist(score2,25,normed=1,facecolor=”red”,alpha=0.8) y1=mlab
7、.normpdf(bins1,100,15)l=plt.plot(bins1,y1,”r-”,linewidth=1) plt.xlabel(”ID”)plt.ylabel(”score2”) #score3 plt.subplot(413)n1,bins1,patches1=plt.hist(score3,25,normed=1,facecolor=”yellow”,alpha=0.8) y1=mlab.normpdf(bins1,100,15)l=plt.plot(bins1,y1,”r-”,linewidth=1) plt.xlabel(”ID”)plt.ylabel(”score3”)
8、 #scoreax4 = plt.subplot(414) n1,bins1,patches1=plt.hist(score,25,normed=1,facecolor=”blue”,alpha=0.8) y1=mlab.normpdf(bins1,100,15)l=plt.plot(bins1,y1,”r-”,linewidth=1) plt.xlabel(”ID”)plt.ylabel(”score”) #plt.show() #222222#2222222plt.figure(2)fig = plt.figure(2)def pic(score1,score,ax): import ra
9、ndom order=9plt.plot(score,score1,color=”m”,linestyle=”,marker=”.”) matA=for i in range(0,order+1): matA1=for j in range(0,order+1): tx=0.0for k in range(0,len(score1): dx=1.0for l in range(0,j+i): dx=dx*score1ktx+=dx matA1.append(tx)matA.append(matA1) #print(len(xa) #print(matA00)matA=np.array(matA
10、) matB=for i in range(0,order+1): ty=0.0for k in range(0,len(score1): dy=1.0for l in range(0,i): dy=dy*score1kty+=scorek*dy matB.append(ty)matB=np.array(matB) matAA=,matB)#print(matAA)yya=for i in range(0,len(score1): yy=0.0for j in range(0,order+1): dy=1.0for k in range(0,j): dy*=scoreidy*=matAAj y
11、y+=dyyya.append(yy) ax.plot(score,yya,color=”g”,linestyle=”-”,marker=”) ax.legend()return 1ax1 = fig.add_subplot(311) pic(score1,score,ax1)ax2 = fig.add_subplot(312) pic(score2,score,ax2)ax3 = fig.add_subplot(313) pic(score3,score,ax3)#3aa=for i in range(len(group): if groupi not in aa:temp=groupifo
12、r j in range(len(group): if groupj=temp:aa.append(temp) breakax=0 for col in range(5) for row in range(len(aa) m=0n=0for i in range(len(aa):for j in range(len(group): if groupj=aai:axmn=scorej n=n+1m=m+1 n=0#print ax i=0labels=list(aa)for i in range(len(aa): labels.append(str(aai)fs=10fig, axes=plt.
13、subplots(nrows=1, ncols=len(aa), figsize=(40,10) for i in range(len(aa):axesi.boxplot(filter(lambda e:e!=0, axi),patch_artist=False,bootstrap=None) axesi.set_title(”group”+str(int(aai),fontsize=fs)i=0 bb=list(set(Class)bx=0 for col in range(len(Class) for row in range(len(bb) m=0n=0for i in range(le
14、n(bb):for j in range(len(Class): if Classj=bbi:bxmn=scorej n=n+1m=m+1 n=0#print bx#print the picturefig2, axes2=plt.subplots(nrows=1, ncols=len(bb), figsize=(10,10) i=0for i in range(len(bb):axes2i.boxplot(filter(lambda e:e!=0, bxi),patch_artist=False,bootstrap=None) axes2i.set_title(”class”+str(int(bbi),fontsize=fs)plt.show()