# -*- coding: utf-8 -*-
"""
Created on Tue Jul 9 11:01:42 2019
@author: User
"""
# 《Python数据分析基础》中国统计出版社
#import numpy as np
from scipy import stats
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
import matplotlib.pyplot as plt
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from matplotlib.font_manager import FontProperties
myfont=FontProperties(fname='data\msyh.ttc')
house = pd.read_csv(u'data\\ch7\\house.csv',encoding = "gbk")
house['education'] = house['education'].astype('category')
house['education'].cat.categories=['初中及以下', '高中(中专)',
'大学', '研究生及以上']
house['unit'] = house['unit'].astype('category')
house['unit'].cat.categories=['国营企业', '行政事业单位','大专院校科研院所',
'私营企业', '失业','其他']
house['income'] = house['income'].astype('category')
house['income'].cat.categories=['10000元以下', '10000-25000元','25000-50000元',
'50000-75000元', '75000以上']
house['type'] = house['type'].astype('category')
house['type'].cat.categories=['一室一厅', '二室一厅','二室二厅', '三室一厅',
'三室二厅', '三室三厅','四室二厅一卫', '四室二厅二卫',
'四室三厅一卫', '四室三厅二卫','更大户型']
print(house.head())
house_anova_post = pairwise_tukeyhsd(house['space'], house['income'], alpha = 0.05)
print(house_anova_post.summary())
运行:
education unit income type space
0 初中及以下 大专院校科研院所 10000-25000元 二室一厅 75.0
1 初中及以下 失业 10000元以下 三室三厅 55.0
2 大学 国营企业 10000-25000元 四室二厅二卫 56.0
3 高中(中专) 其他 10000-25000元 三室一厅 51.0
4 高中(中专) 私营企业 10000元以下 三室二厅 60.0
Multiple Comparison of Means - Tukey HSD,FWER=0.05
==========================================================
group1 group2 meandiff lower upper reject
----------------------------------------------------------
10000-25000元 10000元以下 -4.6062 -10.4621 1.2497 False
10000-25000元 25000-50000元 7.6175 1.7029 13.5321 True
10000-25000元 50000-75000元 12.1263 -1.665 25.9176 False
10000-25000元 75000以上 31.2777 15.812 46.7435 True
10000元以下 25000-50000元 12.2238 5.2854 19.1621 True
10000元以下 50000-75000元 16.7325 2.4722 30.9929 True
10000元以下 75000以上 35.884 19.9985 51.7694 True
25000-50000元 50000-75000元 4.5088 -9.7758 18.7933 False
25000-50000元 75000以上 23.6602 7.753 39.5674 True
50000-75000元 75000以上 19.1514 -1.0539 39.3567 False
----------------------------------------------------------