python笔记:7.2.1.1方差同质性检验(例7-1像素影响数码相机销量)
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 24 11:00:09 2019@author: User
"""# 《Python数据分析基础》中国统计出版社import numpy as np
from scipy import stats
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
myfont=FontProperties(fname='data\msyh.ttc')dc_sales = pd.read_csv(u'data\\ch7\\dc_sales.csv',encoding = "gbk")
print(dc_sales.head())dc_sales['pixel'] = dc_sales['pixel'].astype('category')
dc_sales['pixel'].cat.categories=['500万像素及以下','500-600万像素','600-800万像素','800-1000万像素','1000万像素及以上']
#dc_sales['pixel'].cat.set_categories=['500万像素及以下','500-600万像素',
# '600-800万像素','800-1000万像素',
# '1000万像素及以上']
print(dc_sales.head())print(pd.pivot_table(dc_sales,index=['pixel'],columns=['market'],values=['sales'],aggfunc='sum'))G=dc_sales['pixel'].unique() #G用于统计变量pixel的像素属性
args=[] #列表args用于存储不同像素属性下的销售数据
for i in list(G):args.append(dc_sales[dc_sales['pixel']==i]['sales'])print(args)print("\n 对于一元方差分析常用Levene's检验:")
print(stats.levene(*args))
运行:
market pixel sales
0 1 1 70
1 1 2 101
2 1 3 114
3 1 4 120
4 1 5 132
market pixel sales
0 1 500万像素及以下 70
1 1 500-600万像素 101
2 1 600-800万像素 114
3 1 800-1000万像素 120
4 1 1000万像素及以上 132
sales
market 1 2 3 4 5 6 7 8
pixel
500万像素及以下 70 67 82 87 80 80 87 96
500-600万像素 101 76 97 88 92 99 123 90
600-800万像素 114 96 128 103 107 91 99 119
800-1000万像素 120 98 132 128 132 132 131 119
1000万像素及以上 132 102 123 119 123 135 126 117
[0 70
5 67
10 82
15 87
20 80
25 80
30 87
35 96
Name: sales, dtype: int64, 1 101
6 76
11 97
16 88
21 92
26 99
31 123
36 90
Name: sales, dtype: int64, 2 114
7 96
12 128
17 103
22 107
27 91
32 99
37 119
Name: sales, dtype: int64, 3 120
8 98
13 132
18 128
23 132
28 132
33 131
38 119
Name: sales, dtype: int64, 4 132
9 102
14 123
19 119
24 123
29 135
34 126
39 117
Name: sales, dtype: int64]
对于一元方差分析常用Levene's检验:
LeveneResult(statistic=0.233384556281214, pvalue=0.9176929576341715)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!