前言

交叉分析是属性间的数据分析。本次实验中我们主要分析离职率(“left”)与各部门(“depar”)之间的关系,各部门之间的离职率是否有明显的差异,使用到的是独立t检验方法。
本篇文章中需要用到的库如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as ss
import seaborn as sns

操作步骤如下:

一、读取数据

df=pd.read_csv("./data/HR.csv")

需要注意的是这里的HR.csv中的异常值已经删除了。

二、按部门分组并获取部门对应的值,进行独立t检验

pd_indices=df.groupby(by="department").indices  # indices的使用会在本篇末补充
salary_values=df["left"].iloc[pd_indices["salary"]].values
print(salary_values)
techinical_values=df["left"].iloc[pd_indices["techinical"]].values
print(techinical_values)
print(ss.ttest_ind(salary_valuea,techinical_values)[1])  # 只需要p值所以加了一个索引

到此步运行结果为:

三、如何两两之间求均值?

构建矩阵,双重循环遍历

dp_keys=list(dp_indices.keys())
dp_t_mat=np.zeros([len(dp_keys),len(dp_keys)])  # 生成一个dp_keys*dp_keys的矩阵
for i in range(dp_keys):for j in range(dp_keys):r_values=ss.ttest_ind(df["left"].iloc[dp_indices[dp_keys[i]]].values,df["left"].iloc[pd_indices[dp_keys[j]]].values)dp_t_mat[i][j]=p_values
sns.heatmap(dp_t_mat,xticklabels=dp_keys,yticklabels=dp_keys)
plt.show()

输出结果为:

由此可以看出颜色越深,离职率与部门之间是没有关系的,即部门之间的离职率没有显著差异。

交叉分析的另一种方式:透视表

piv_tv=pd.pivot_table(df,values="left",index=["promotion_last_5years","salary"],columns=["Work_accident"],aggfunc=np.mean)
print(piv_tv)
sns.heatmap(piv_tv,vmin=0,vmax=1,cmap=sns.color_palette("Reds",n_colors=200))
plt.show()

输出结果如下:


可以看出有一个数据相较而言是比较大的,即0.331728,表示过去五年没有晋升,薪资水平为low,且没有工作事故的离职率较高。

补充

测试数据 test


test数据为HR中的极小部分数据,以此展示比较清晰的方法使用。

indices


可以看出indices就是将分类“department”中的每一个元素的索引返回,即IT位于5,6,7,8,9,13的位置。

iloc和loc

iloc是靠行数索引
loc是靠定义的索引来索引

values

以列表的方式返回数据。

有帮助的话,点个赞再走吧~

python数据分析与挖掘建模:交叉分析相关推荐

  1. 《Python数据分析与挖掘实战》一3.1 数据质量分析

    本节书摘来自华章出版社<Python数据分析与挖掘实战>一书中的第3章,第3.1节,作者 张良均 王路 谭立云 苏剑林,更多章节内容可以访问云栖社区"华章计算机"公众号 ...

  2. 《Python数据分析与挖掘实战》第11章——应用系统负载分析与磁盘容量预测(时间序列)

    文章目录 1.背景与目标分析 2.2 数据探索 2.1 查看数据信息 2.2 数据平稳性分析 3 数据预处理 3.1 数据清洗 3.2 数据变换--属性构造 4 模型构建 4.1 确定模型-- ARM ...

  3. 《Python数据分析与挖掘实战》第15章 ——电商产品评论数据情感分析(LED)

    文章目录 1.挖掘背景与目标 2.2 数据探索与预处理 2.1 数据筛选 2.2 数据去重 2.3 删除前缀评分 2.4 jieba分词 3 基于LDA 模型的主题分析 4.权重 5.如何在主题空间比 ...

  4. 《Python数据分析与挖掘实战》第14章——基于基站定位数据的商圈分析(层次聚类)

    本文是基于<Python数据分析与挖掘实战>的实战第14章<基于基站定位数据的商圈分析>做的分析. 1 挖掘背景及目标 从某通信运营商提供的特定接口解析得到用户的定位数据.利用 ...

  5. 【Python数据分析】数据挖掘建模——分类与预测——回归分析

    根据挖掘目标和数据形式可以建立分类与预测.聚类分析.关联规则.时序模型.离群点检测等模型.首先介绍一下分类与预测模型. 一.分类预测模型实现过程 分类模型主要是预测分类编号,预测模型主要是建立连续值函 ...

  6. 《Python数据分析与挖掘实战》第8章——中医证型关联规则挖掘(Apriori关联)

    本文是基于<Python数据分析与挖掘实战>的实战部分的第八章的数据--<中医证型关联规则挖掘>做的分析. 旨在补充原文中的细节代码,并给出文中涉及到的内容的完整代码. 主要有 ...

  7. 《Python数据分析与挖掘实战》示例源码免费下载

    <Python数据分析与挖掘实战>​ 在当今大数据驱动的时代,要想从事机器学习.人工智能.数据挖掘等前沿技术,离不开数据跟踪与分析,通过NumPy.Pandas等进行数据科学计算,通过Se ...

  8. 董老师又双叒叕送书啦,8本《Python数据分析、挖掘与可视化(慕课版)》

    活动详情: 在本文文末留言,留言获得点赞. 自本文推送之时活动立即生效,5月23日21:00结束,获赞最多的前8条留言,每人获赠一本书. 5月23日21:01在本文文末置顶留言公布获奖名单. 获奖朋友 ...

  9. Python数据分析与挖掘实战期末考复习(抱佛脚啦)

    期末三天赛高考我真的会谢,三天学完数据挖掘--真的很极限了的. 课本是那本绿色的Python数据分析与挖掘实战(第2版),作者张良均- 图片来自老师给的ppt,以下内容是我自己总结的,自己复习用,覆盖 ...

最新文章

  1. leangoo自由配置任务卡片(需求、迭代、bug)自定义字段
  2. 安装Ubuntu 出现 SQUASFS error / sd 8:0:0:0 :[sdb] assuming drive cache:write through
  3. HtmlUnit爬取页面列表链接
  4. antd table设置表格一个单元格的字体颜色_微软Office三件套,各有一个效率神器,全都知道的人不超过1%...
  5. kotlin学习之嵌套类和内部类(六)
  6. javaweb开发之处理表单上传文件和文件下载
  7. MATLAB的GUI界面不显示XY坐标轴
  8. 【2010】asp.net GridView分页的实现
  9. 咸鸭蛋吃了对身体有什么好处?
  10. 20160417_无为_常州
  11. unix network programming volume 2 interprocess communications second edition环境搭建出错的处理...
  12. 永久免费内网穿透,使用超简单的方式搭建,内含核心打洞代码
  13. GitHub创建仓库导入项目
  14. python假分数约分_数学中假分数怎么约分
  15. Robcup2D足球学习记录【2020.01.14】
  16. 设计灵感:12个App的登录注册界面案例参考
  17. 法硕有专硕学硕之分吗?
  18. python实战-实现内网CAS统一认证登录
  19. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java场地预定平台55nqh
  20. 国内开源网店的那些事

热门文章

  1. 关于物联网的误区,你有没有中招?
  2. 目测优衣库董事长只能听到赞扬的声音:3星|《经营者养成笔记》
  3. PatternLayout格式解读
  4. Neo4j:一、CQL语句
  5. 深入浅出内存马(一)
  6. 用c语言实现矩阵的转置算法,C++实现矩阵原地转置算法
  7. Java之旅-Day3
  8. xcode快捷方式 一 快速找到对应文件
  9. 笔记本有线网络共享为WiFi
  10. html字体大小vw,如何使用CSS vw尺寸单位实现响应式字体