zoukankan      html  css  js  c++  java
  • python计算excel平均值和标准差

    ##############################################
    ######## python计算excel平均值和标准差 #######
    ##############################################
    ''':数据源格式
    编号 时间 仪器1 仪器2 仪器3 仪器4 仪器5 仪器6 仪器7 仪器8 仪器9 仪器10 分组 均值 标准差
    FKQXK-r-02-01 20200702 100 101 102 103 104 144 106 107 108 201 A组
    FKQXK-r-02-02 20200702 100 105 102 103 104 105 106 107 108 202 A组
    FKQXK-r-02-03 20200702 100 101 111 151 104 105 117 107 108 203 A组
    '''

    引入库

    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###############

    因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
  • 相关阅读:
    sql语句中as的用法和作用
    设置国内AndriodSDK代理
    Ionic开发环境搭建
    SpringMvc+Mybatis开发调用存储过程
    SpringMvc的JSON数据交互
    SpringMvc+Mybatis开发需要的jar包
    nested exception is java.lang.NoClassDefFoundError: org/hibernate/validator/resourceloading/ResourceBundleLocator
    SpringMvc错误:HTTP Status 500
    解决在Tomcat中的server.xml中修改了配置,启动后还原的问题
    SpringMvc参数绑定出现乱码解决方法
  • 原文地址:https://www.cnblogs.com/quezesheng/p/13323761.html
Copyright © 2011-2022 走看看