博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.8,问卷数据指标计算(编码记忆点)
阅读量:3950 次
发布时间:2019-05-24

本文共 2363 字,大约阅读时间需要 7 分钟。

问卷数据指标计算(编码记忆点)

数据准备和样本筛选

按数据框的某几列计算简单统计量生成新列(自动处理缺失值)

#最小值k['CHA_12'] = k['C10.1']-k[['C10.2_SQ1','C10.2_SQ2','C10.2_SQ3','C10.2_SQ4','C10.2_SQ5','C10.2_SQ6']].mean(axis=1)#最大值k['max']= k[['C10.2_SQ1','C10.2_SQ2','C10.2_SQ3','C10.2_SQ4','C10.2_SQ5','C10.2_SQ6']].max(axis=1)#计数,非空值的数目ks['count']= ks[['C10.2_SQ1','C10.2_SQ2','C10.2_SQ3','C10.2_SQ4','C10.2_SQ5','C10.2_SQ6']].count(axis=1)

dataframe按条件删除某些行(单一条件、且条件)

#单一条件k = k.drop(k[abs(k['CHA_12'])>=2].index)#且条件k = k.drop(k[(k['count']>2) & (k['C10.1'] - k['max'] > 0)].index)

excel自动写入函数

(第m行n列按列填充函数)

(第m行n列按行填充函数)

import openpyxl#第m行n列按列填充函数def excelxieru_lie(file_name,sheet_name,data,m,n):     '''    file_name = r'siji.xlsx'    sheet_name = 'Sheet1'    data 是个列表        '''    wb=openpyxl.load_workbook(file_name)    ws = wb[sheet_name]    # 取出distance_list列表中的每一个元素,openpyxl的行列号是从1开始取得,所以我这里i从1开始取    for i in range(1,len(data)+1):        distance=data[i-1]        # 写入位置的行列号可以任意改变,这里我是从第m行开始按行依次插入第11列        ws.cell(row = i+m-1, column = n).value =distance    # 保存操作    wb.save(file_name)    return#第m行n列按行填充函数def excelxieru_hang(file_name,sheet_name,data,m,n):     '''    file_name = r'siji.xlsx'    sheet_name = 'Sheet1'    data 是个列表        '''    wb=openpyxl.load_workbook(file_name)    ws = wb[sheet_name]    # 取出distance_list列表中的每一个元素,openpyxl的行列号是从1开始取得,所以我这里i从1开始取    for i in range(1,len(data)):        distance=data[i-1]        # 写入位置的行列号可以任意改变,这里我是从第m行开始按行依次插入第11列        ws.cell(row = m,column =i+n-1).value =distance    # 保存操作    wb.save(file_name)    return

列表

列表生成器

#bq_zhibiao为包含题号的列表num = [len((data[bq_zhibiao[i]]).dropna()) for i in range(len(bq_zhibiao))]

列表特定位置数据插入

num.insert(1,99999)

检验

参考链接

均值T检验模块

#均值T检验模块def T_test(df1,df2):    '''    功能:        显著性检验-T检验的函数    参数:        df1: 数据1        df2: 数据2    返回:        显著性p值    '''    #导入统计学库。修改为保留4位    from  scipy.stats import ttest_ind, levene    ttest,pval = ttest_ind(df1.dropna(), df2.dropna(),equal_var = False)    return (float(np.round(pval,4)))

比例检验模块

# 比例T检验模块#ksdata_45,dydata_45是成功次数;ksdata_15, dydata_15是总次数def PT_test(ksdata_45,ksdata_15,dydata_45,dydata_15):    import statsmodels.stats.proportion as sp    from statsmodels.stats.proportion import proportions_ztest    z_score, p_value = sp.proportions_ztest([ksdata_45,dydata_45 ], [ksdata_15, dydata_15], alternative='two-sided')    return (np.round(p_value,4))

转载地址:http://uogwi.baihongyu.com/

你可能感兴趣的文章
Java技术——ReentrantLock的Condition的作用以及使用
查看>>
数据结构——搜索树树、B-树、B+树
查看>>
Android开发——带你彻底理解 Window 和 WindowManager
查看>>
设计模式——责任链模式详解
查看>>
设计模式——适配器模式详解
查看>>
设计模式——装饰模式详解
查看>>
Android开发——关于RxJava的知识总结
查看>>
Android开发——View的生命周期总结
查看>>
Android开发——Protocol Buffer的使用(比XML、Json快很多)
查看>>
Android开发——Android系统启动以及App启动过程
查看>>
Android开发——简述RxJava框架的实现原理
查看>>
Android开发——今日头条APK瘦身之路
查看>>
Android开发——使用ActivityLifecycleCallbacks监控App是否处于后台
查看>>
Android开发——Protocol Buffer效率之高的原理介绍
查看>>
Android开发——贝塞尔曲线解析
查看>>
Android开发——微信Android架构历史
查看>>
Android开发——ListView的复用机制源码解析
查看>>
Android开发——WebView轻量缓存优化
查看>>
Android开发——Android7.0的适配注意点小结
查看>>
Android开发——架构组件LiveData源码解析
查看>>