实验二Python语言基础函数包练习
实验 Python语言基础函数包练习:1208 学号:
实验目的
1、Python语言包,如math、NumPySciPy和Matplotlib等函数包的使用实验内容
统计可视化
Step 1. 导入编程所需要包:
Step 2. 柱状图可视化:
可视化结果(将图粘贴到这个位置):
Step 3. 散点图可视化:
可视化结果(将图粘贴到这个位置):
Step 4:box-plot可视化
可视化结果(将图粘贴到这个位置):
Step 5: 三次样条插值
可视化结果(将图粘贴到这个位置):
练习内容
期末考试的“scores.csv”,字段信息如下:
;
fscore期末考试成绩groupe:分组组别class:班级
score1:第一次平时成绩score2:第二次平时成绩score3:第三次平时成绩score:最终综合成绩
:
分别画出四个成绩的柱状图,是否满足正态分布
分别拟合第一次、第二次、第三次成绩和期末考试成绩之间的关系;
按照班级和组别做boxplot,每一组和每一之间成绩的浮动。
提示1: 读取csv文件
import csv
in_file = open('scores.csv', 'r')
csv_reader = csv.reader(in_file, delimiter=',')
# read the header info
header = csv_reader.next()
print header
代码
#coding UTF-8
import numpy as np
import scipy as spy
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from scipy.optimize import leastsq
import pylab as pl
import csv
in_file =open('E:\studtstudylearn\python\gis\Experiment2\Experiment2\scores.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 data
for line in csv_reader:
#ingnore firstline
if csv_reader.line_num==0:
continue
ID.append(line[0])
fscore.append(line[1])
group.append(float(line[2]))
Class.append(float(line[3]))
score1.append(float(line[4]))
score2.append(float(line[5]))
score3.append(float(line[6]))
score.append(float(line[7]))
#print ID
#print group
#print score
plt.figure(1)
#score1
plt.subplot(411)
n1,bins1,patches1=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')
#score2
plt.subplot(412)
n1,bins1,patches1=plt.hist(score2,25,normed=1,facecolor='red',alpha=0.8)
y1=mlab.normpdf(bins1,100,15)
l=plt.plot(bins1,y1,'r--',linewidth=1)
plt.xlabel('ID')
plt.ylabel('score2')
#s