调查问卷——matplotlib、scipy小练习

一组调查问卷,从中探索顾客、店主对于商品、服务、活动的态度。

本次练习主要学习内容,包括数据重新构造、可视化堆积图、卡方检验

一、数据重构

import pandas as pd
#读取数据,并显示前5行。识别数据类型及属性。
survey = pd.read_csv(r'C:\Users\Administrator\Desktop\survey.csv', encoding = 'utf-8')
survey.head()
   立场   回答6    回答7
0  顾客  商品齐全    无回答
1  顾客  商品齐全    无回答
2  顾客  商品齐全  传统吉祥物
3  顾客  商品齐全  萌系美少女

4  顾客  商品齐全  萌系美少女

#提取其中顾客和店主的回答6,并重新构造一个数据表
#创建布尔索引
customer = survey[survey.立场 == '顾客']
boss = survey[survey.立场 == '店主']
#穿件数据对象
#利用字典创建dataframe,其中value_counts()求出每一项的总和
su2 = pd.DataFrame({'顾客':boss.回答6.value_counts()})
su2 = pd.DataFrame({'店主':boss.回答6.value_counts()})
#创建数据表
survey_N = pd.concat([su1, su2], axis = 1)
                  顾客  店主
促销             39    11
商品齐全      18    42
服务态度好   35     9

活动             11    38

二、数据可视化

import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
#其中.T为转置,kind = 'bar'为堆积图,stacked = True 为堆叠
survey_N.T.plot(kind = 'bar', stacked = True, color = ['b', 'r', 'g', 'y'], grid = False)
plt.show()

可以看出顾客和店主,在四项活动中,看重点不同。

去掉stacked = True,显示为:

三、卡方检验

扫描二维码关注公众号,回复: 1046068 查看本文章
from scipy.stats import chi2_contingency
chi2_contingency(survey_N)

(55.488971138570164, 5.3999746517395078e-12, 3, array([[ 25.36945813,  24.63054187], [ 30.44334975,  29.55665025], [ 22.32512315,  21.67487685], [ 24.86206897,  24.13793103]]))

零假设店主与顾客的回答是独立的,即无显著不同

备择假设店主与顾客的回答意见受各自立场影响,即意见不同

概率不足显著性水平(5%)否定零假设,即顾客与店主的意见是否存在显著偏差

概率等于或超过显著性水平(5%)保留零假设,即顾客与店主的意见不受各自立场影响

其中计算结果P<5%。

统计学知识,需要补习。


猜你喜欢

转载自blog.csdn.net/weixin_41512727/article/details/79809668