#!/usr/bin/env python
# -*- coding:utf-8 -*-
#
def execute():
#
'''
载入模块
'''
from scipy.stats import chisquare
import pandas as pd
from sqlalchemy import create_engine
'''
连接数据库
'''
engine = create_engine('mysql+pymysql://root:123123qwe@127.0.0.1:3306/analysis')
'''
选择目标数据
'''
params = {
"sequence": "SUNACTIVITY",
"n_components": 1,
"max_iter": 1000, # default=1000
}
inputs = {"table": '纯随机性检验'}
data_sql = 'select ' + params['sequence'] + ' from ' + inputs['table']
data_in = pd.read_sql_query(data_sql, engine)
print(data_in)
'''
卡方检验
'''
sequence = data_in[params['sequence']]
p = chisquare(sequence)[1]
data_out = ''
if (p < 0.05):
data_out += '卡方检验结果\n'
data_out += "p值为:" + str(p) + ",可以证明检验结果显著\n"
else:
data_out += '卡方检验结果\n'
data_out += "p值为:" + str(p) + ",无充分证据证明检验结果显著\n"
'''
生成报告
'''
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
卡方检验结果
p值为:4.588067761138235e-56,可以证明检验结果显著
'''
#
if __name__ == '__main__':
execute()