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)
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章