欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-18 20:57:16
...

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

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

一、数据重构

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()

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

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

去掉stacked = True,显示为:

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

三、卡方检验

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%。

统计学知识,需要补习。


相关标签: matplotlib