最近我们家小朋友要做一些均值和均方差的计算,数据量较大,为了能一次性算出结果,用python进行了计算。用得到的python第三方包:
xlrd : 处理Excel专用的
安装命令:pip install xlrd
代码:
# -*- coding: utf-8 -*-
import xlrd
import math
def do_excel():
ExcelFile = xlrd.open_workbook(r'E:\temp_data\score.xlsx')
sheet = ExcelFile.sheet_by_index(0)
Nrows=sheet.nrows
num = [5, 4, 3, 2, 1]
for row in range(Nrows):
list1=sheet.row_values(row)
row_length=len(list1)
sum = 0
for i in range(row_length):
if list1[i]!='':
sum = sum + float(list1[i]) * num[i]
means = sum / 11.00
miu2 = 0.0000
for i in range(row_length):
if list1[i] != '':
miu2 = miu2 + (num[i] - means) * (num[i] - means) * float(list1[i])
miu2 = miu2 / 11
miu = math.sqrt(miu2)
print(round(means, 2),'\t',round(miu, 2))
do_excel()