如何1天内完成问卷调查分析报告(数据模型与决策课程作业)

如何1天内完成问卷调查分析报告(数据模型与决策课程作业),第1张

如何1天内完成问卷调查分析报告(数据模型与决策课程作业) 背景:

有个朋友需要帮忙,急需在1天内完成4000+字的问卷调查分析报告,需要用到excel和python处理数据。

思路:

一、将电子版问卷调查数据导出成excel,先在excel对数据预处理;

二、搭建起分析报告框架。由于有分析报告范例,所以框架搭建比较简单,主要分为五部分,分别是:

①问卷概况;

②主观性问题分析;

③指标单因素分析;

④指标多因素交叉分析;

⑤差异显著性分析(假设检验、方差分析);

⑥总结(略)。

PS:

①具体按问卷设计的部分进行细化,比如说指标单因素分析中可以分为受访人群社会属性统计部分(性别、年龄、学历、收入等)和问卷设计的针对性问题部分。

②在分析主观性问题前,需要用Cronbach’s α信度系数进行信度检验。

实 *** : 具体数据:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
file_path = 'raw_data_2.xlsx'
file_path_ = 'raw_data.xls'
data = pd.read_excel(file_path)
data_ = pd.read_excel(file_path_)

 

 excel预处理的数据分为实际选项和选项序号两种,按需要使用。

指标单因素分析
def form_1(op_1,index_name):
    op_1_ = pd.Dataframe()
    op_1_.index.names=[index_name]
    op_1_['计数'] = op_1.iloc[:,0]
    op_1_['百分比'] = op_1_['计数']/op_1_['计数'].sum()
    op_1_['累计百分比'] = op_1_['百分比'].cumsum() 
    op_1_.loc['合计']= [op_1_.sum().iloc[0],op_1_.sum().iloc[1],' ']
    return op_1_

def pie_pic(data, title_name):
    pl.pie(data.iloc[:,0].tolist(),labels=data.index,autopct='%3.1f%%')
    pl.title(title_name)
    #pl.legend()
    pl.show()

# op:output
op_1 = data.groupby([data.keys()[1]])[[data.keys()[1]]].count()

对单个指标进行统计及作图(仅计算频数)

指标多因素交叉分析
op_4 = data.pivot_table('序号', index='index_1', columns='columns_1',margins=True, aggfunc='count')
op_4[np.isnan(op_4)] = 0
op_4

python的数据透视功能选择三个维度,分别是计算的维度,index维度,columns维度。

这里选择了“序号‘、’index_1', 'index_2'。

由于计算的是频数,所以选择了计算‘序号’,选择其他维度也是可以的,

'index_1'和‘columns_1’ 按选取研究的因素进行代入。


数据是频数。

op_4_ = pd.Dataframe(np.array(op_4).T/np.array(op_4.iloc[:,-1])).T
op_4_.index = op_4.index
op_4_.columns = op_4.columns
op_4_

把频数除以该行ALL(合计)得出百分数。

本来想在python话累积百分比柱状图,但是由于时间关系,就把数据导出csv,再在excel上画出来。

这里看出,不同年龄层对“是否”的选择有差异,但是否显著就要进行方差分析来进一步判断。

差异显著性分析(假设检验、方差分析) 

同样地,由于时间关系,这里选择用excel筛选出数据,进行单因素方差分析。

筛选的时候可以单独把“年龄层”和“是否”两组数据取出来,把同一个年龄层的“是否”数据筛出来后再粘贴到另一个sheet。

注意,“是否”选择用“1”和“2”进行代替。

方差分析:单因素方差析

SUMMARY

观测数

求和

平均

方差

0-25岁

1

2

2

#DIV/0!

25-30岁

27

41

1.51851852

0.25925926

31-35岁

32

39

1.21875

0.17641129

36-40岁

26

31

1.19230769

0.16153846

41-50岁

5

7

1.4

0.3

方差分析

差异源

SS

df

MS

F

P-value

F crit

组间

2.31028948

4

0.57757237

2.84682254

0.02870789

2.47773977

组内

17.4479523

86

0.20288317

总计

19.7582418

90

 

 

 

 

由于F>F crit,不同年龄层对“是否”的选择有显著性差异(α=0.05)。

主观性问题分析
data_cov = data_.iloc[:,13:23].cov()
data_cov

计算协方差的时候,选用数据为选项序号,非文字。

图没完全截完。

 主观性问题也可以计算均值,因为选项一般为从“极不满意”到“非常满意”这种打分类型的。

 

 以上。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5721494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存