Advertisement

python计算excel平均值_python计算excel平均值和标准差

阅读量:

##############################################

######## python计算excel平均值和标准差 #######

##############################################

‘‘‘:数据源格式

编号时间仪器1仪器2仪器3仪器4仪器5仪器6仪器7仪器8仪器9仪器10分组均值标准差

FKQXK-r-02-0120200702100101102103104144106107108201A组

FKQXK-r-02-0220200702100105102103104105106107108202A组

FKQXK-r-02-0320200702100101111151104105117107108203A组

‘‘‘

引入库

import xlwings as xw

import xlrd

import math

wb = xw.Book(‘伽玛数据处理.xls‘) #这样的话就不会频繁打开新的Excel

引用Excel工作表,单元格

引用工作表

sht = wb.sheets[0] #sht = wb.sheets[第一个sheet名]====伽玛原始记录

引用单元格

rng = sht.range(‘a1‘) #rng = sht[‘a1‘] #rng = sht[0,0] 第一行的第一列即a1,相当于pandas的切片

定义函数

def mean(list): #定义平均值函数

sum=0

j=len(list)

for i in list:

sum = sum+ int(i)

return sum/j

def StdEv(list): #计算标准差函数,参数是列表和平均值

sum = 0.0

n = len(list) #计算列表长度

for i in list:

sum = sum + int(i)

list_aver=sum / n #先计算平均值

sum1 = 0.0

for j in range(n):

sum1 += (list[j] - list_aver) ** 2 #差的平方

res = math.sqrt(sum1/n) #求开方后就是标准差

return res

pass

上面定义函数

引用区域

rng = sht.range(‘c2:l2‘)

rng = sht[‘c‘]

n2=sht[‘n2‘]

list= sht.range(‘c2:l2‘).value

print(list)

print(mean(list))

sht.range(‘n2‘).value = mean(sht.range(‘c2:l2‘).value)

rng = sht.range(‘a2‘).expand(‘table‘)

nrows = rng.rows.count #获取总行数,不含标题

for i in range(2,nrows+2): #nrows+2是因为总行数不含标题,且最后一个不循环

sht.range(‘n{}‘.format(i)).value = mean(sht.range(‘c{}:l{}‘.format(i,i)).value) #计算均值列

sht.range(‘o{}‘.format(i)).value = StdEv(sht.range(‘c{}:l{}‘.format(i,i)).value) #计算标准差列

保存工作簿

wb.save(‘伽玛数据处理_RESULT.xls‘)

退出工作簿(可省略)

wb.close()

#######end###############

原文:https://www.cnblogs.com/quezesheng/p/13323761.html

全部评论 (0)

还没有任何评论哟~