• python统计分析-单样本T检验


    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # <editable>
    
    def execute():
        # <editable>
        '''
        载入模块
        '''
        from scipy.stats import ttest_1samp
        import pandas as pd
        from sqlalchemy import create_engine
        '''
        连接数据库
        '''
        engine = create_engine('mysql+pymysql://root:123123qwe@127.0.0.1:3306/analysis')
        '''
        选择目标数据
        '''
        params = {
            "columns": "SUNACTIVITY",
            "sequence": "SUNACTIVITY",
            "method": "pearson",
            "popmean": 1,
        }
        inputs = {"table": '纯随机性检验'}
        data_sql = 'select ' + params['columns'] + ' from ' + inputs['table']
        data_in = pd.read_sql_query(data_sql, engine)
        print(data_in)
    
        '''
        单样本t检验
        '''
        sequence = data_in[params['sequence']]
        p = ttest_1samp(sequence, float(params['popmean']))[1]
        data_out = ''
        if (p < 0.05):
            data_out += '单样本t检验结果
    '
            data_out += '检验结果
    '
            data_out += "p值为:" + str(p) + ",可以证明有统计学意义(小于0.01有显著差异性)"
        else:
            data_out += '单样本t检验结果'
            data_out += '检验结果'
            data_out += "p值为:" + str(p) + ",无充分证据证明有统计学意义"
    
        '''
        生成报告
        '''
        print(data_out)
        '''
        数据示例
            SUNACTIVITY
        0           5.0
        1          11.0
        2          16.0
        3          23.0
        4          36.0
        5          40.4
        6          29.8
        7          15.2
        8           7.5
        9           2.9
        10         83.4
        11         47.7
        12         47.8
        13         30.7
        14         12.2
        15         40.4
        16         29.8
        17         15.2
        18          7.5
        19          2.9
        20         12.6
        单样本t检验结果
        检验结果
        p值为:2.48103846791979e-05,可以证明有统计学意义(小于0.01有显著差异性)
    
        '''
    
    
    # </editable>
    
    if __name__ == '__main__':
        execute()
    作者:沐禹辰
    出处:http://www.cnblogs.com/renfanzi/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    预防新型冠状病毒科普宣传网站
    四则运算
    结对审查
    最大子段和
    单元自动测试Junit
    浅谈过去,畅想未来
    第一次的结对编程
    代码审查
    单元测试
    junit4单元测试
  • 原文地址:https://www.cnblogs.com/renfanzi/p/14688473.html
Copyright © 2020-2023  润新知