Stack Overflow 用户画像数据分析

点击上方蓝色,快速关注

作者 | AAAlvin

来源 | https://github.com/AAAlvin/Project_Folder/

俗话说”没有问不到的问题,只有不会上的Overflow“,你没听过这个俗语,那也(就)没(对)关(了)系,你只用知道这是一个认识代码就应该知道的网站就可以了,上面回答问题的大牛让你无时无刻不知道自己的代码写的有多丑,鞭策自己把代码写的简介如斯,真的好难。

哈哈哈不乱扯了,我有幸知道了Stack将自己每年调查问卷的数据放了出来,不愧是Open Source的前行者,拿到这个数据集必然要探究一番,话不多说,接着往下看就对了~

▌项目介绍

本次项目的数据集从科赛网了解到,在Stack官网下载数据,本次数据分析只针对2017年和2018年的数据,使用Python对数据进行整合与清洗,利用RStudio与Tableau进行探索性数据分析,使用Typora撰写Markdown数据分析报告。

本次分析报告将展示参与Stack网站调查问卷的人员的画像,以及自己目前工作职位数据分析师在Stack中的可分析的有趣的点进行深入挖掘,当然报告中也不乏彩蛋,Did you get anything about that?

假设问题

  • Stack Overflow(后面简称SO)想要针对自己的用户推送一篇广告,假设针对所有用户推送,那SO的用户画像到底是什么样子的?
  • SO想要在其他平台上做SO的推广广告,那么应该在哪些平台发布可以使自己的推广效果达到最大呢?

问题解析

作为一名数据分析师,我可以从数据集中得到接受调查人群的用户大致画像,当然这只是整体状况(后续进阶还可以对SO用户聚类,分别推送不同的广告),然后从用户画像的角度配合策划部门拿出广告方案。

▌Stack到底是什么样子

首先需要说明的是,Stack这个调查问卷做了很多年:从11年到18,有感兴趣的分析师朋友可以自行去查看原始数据,这里我只取了17年和18年的数据,探究一下这两年的情况,两年的数据占比用下图表示:

OK,18年的数据偏多,正好,这样的数据时效性还是不错的,那我接着往下探究,看看我们数据呈现了一个怎样的画像。

一维数据画像

  • 性别:68%的男性从业人员,这里想到了一个探究方向:如果后面工资分析中发现在其他条件相同的情况下,女性的工资普遍低于男性,那这也许是女性这么比率这么低的一个原因;
  • 年龄:刷SO的人员基本维持在18-44岁,主力军为25-34,这个年龄也是最容易产出成果的年龄,目前看来这个产业还是比较朝阳;
  • 编程年龄:编程时间比较多的是3-5年,6-8年和0-2年也紧随其后,虽然互联网编程已经出现了这么多年了,还是有大批新生军涌入,不断提供新的语言等;
  • 兴趣与开源:从兴趣来看,SO的用户是以编程为爱好的,并且同比2017年还有5个百分点的增长;开源方面,虽然超过一半的人没有对开源程序做过贡献,但是开源还是一个增加的趋势,对比17年增长了10个百分点还多,起码对于接触编程的人来说,开源共享应该是一个大方向了。
  • 国家:不出意外的美国独占榜首,从颜色深度来看,印度,欧洲经常刷SO的大牛还是很多,中国颜色较浅;
  • 工作:后面几个是关于工作方面的探究:大部分人员满足于当前的工作,但是对好的时机也是非常欢迎,电脑工作时间大多保持在9-12小时,看来有相当一部分人的工作时间应该超过12小时了,程序猿加班果然名不虚传~
  • 废寝忘食:既然大家工作时间还比较长, 会不会像之前传言的废寝忘食的状态呢,正好有相关数据,就顺带探究了一下发现,高达63%的用户并不会因为工作而废寝忘食,看来大家的健康意识还是非常好;
  • 跳槽频率:57%的人在两年内换过工作,看来还是比较频繁,结合之前工作满意度的直方图,看来大家把握机会的能力很强;公司规模,45%的人在100人一下的中小型公司,看来大部分互联网公司差不多也是这个比例;
  • 对自己的定位:62%的人员不认为自己与其他编程人员有亲缘关系;56%的人认为自己比同龄人要强一些;71%的人能意识到自己在与同龄人竞争,总得来说是对自己比较自信,明白自己与什么人在竞争且对同行的认同感不是非常强烈;
  • 新知识学习:大家对新语言新平台的学习,自学加积累学习合计高达65%,说明这群人有着非常强的自学能力。
  • 学习方式:细看学习方式发现,大部分OF用户还是使用最权威的官方手册,当然在OF上提问或者学习的比重也不轻;

二维数据画像

既然说到到了工作,那对接触编程语言的人来说,目前什么样的语言最流行,大家最看好什么样的语言,肯定是比较关心的,那么我针对SO的调查报告数据输出了词云和蝴蝶图,比较直观的展示了趋势:

  • 首先从词云中可以看到,Java,Python,SQL,HTML,CSS等都是比较热门的语言,但是具体数值并不清楚,为了严谨起见,紧接着输出了如下蝴蝶图;
  • 在蝴蝶图中隐藏了一些正在使用和想要学习都比较少的语言,然后将想要学习多于正在使用的语言超过两个百分点的标为明亮颜色,就得到的上图;
  • 在蝴蝶图中可以看出,Python可以说是当下最热的语言了,Go和Swift语言也紧随其后,可以说很好的反应了当下的趋势,看来为了掌握数据分析的技术学习Python是一个非常正确的决定。

关于查看不同语言出现次数代码:

dfMerge[~(dfMerge.LanguageWorkedWith.str.find(";")>0)].LanguageWorkedWith.value_counts()

随后又输出了使用平台和使用DataBase的蝴蝶图,得到下面两张图。

编程平台

  • 在平台中我们能看到,WIndows虽然在目前使用中有绝对的优势,但是大家对其未来并不是十分看好,有相当一部分人将眼光投向了更为稳定安全的Linux,看来最近公司招聘的JD中,许多要求熟悉Linux也不无道理~
  • Android和AWS都在这两年有稳步的上升,而对比而言,关于苹果的编程相比几年前的大热的热度就下降了许多,也许是应为Android更为开放,许多手机厂商对其深度优化,这些都是可以考虑的点,感觉手机仍然是很重要的一个接口,手机智能开发只会越来越深入,也许对未来手机厂商来说这些编程平台的使用是一次换血的机会也说不准呢。

数据库使用

  • 数据库的使用与否多还是看公司使用什么样的数据库,所以这里大家的意愿也可能多体现了公司的方向或者想去的公司的方向;
  • 相比较而言,SQL语言中PostgreSQL是增幅比较快的,MySQL和SQL Server的占有度有所下降,看来Udacity数据分析入门教授的的PostgreSQL还是比较有先见之明的;
  • MongoDB也是近些年来非常火的数据库,看来学习MongoDB也在所难免,从上图将近10%的上升率就能深刻体会到。

围绕工资展开的研究

在处理工资变量的时候遇到了比较多的问题,因为很多年薪显示超过了1百万美元,基于可比较性,年薪过大的要么是出于个人原因不愿意透露而故意填的,要么是真的如此高的工资的探究性也不再目前范围内,所以将超过1百万美元的数据排除在外之后得到下面可视化图形:

  • 工资直方图是一个很明显的正偏态图形,大部分数据集中在120000美元附近,总得来说正是一个比较大的数据,也就是说从事代码相关工作的人工资都还尚可;
  • 从工资与性别的柱状图中也能大致回答我之前的疑问,看来大部分与代码接触的工作,工资对女性来说都没有什么吸引力,这因该也是造成SOF女性成员偏少一个原因;

大家比较关心编程时间和工资是否有什么关系,于是我输出了两者的散点图,在其上加上了箱线图,这样可以得出更加完整的结论:

  • 从图中可以看出基本上是有一个接触代码时间越长工资上涨的趋势的。
  • 但是从12-14年后趋势放缓距剧烈,基本保持水平(均值与中位数)。
  • 0-2年的编程经历,工资浮动最少(离散度较小),从3年开始到14年之间,工资浮动加大,也就是说3年后是真正拉开差距的时候了,能力的强弱,接收新知识等诸多因素共同影响你的工资的上限可以在哪里,所以前两年属于积累去,大家一定把握住,说不定第三年就井喷了。

第三个表格探究了使用不同语言编程与工资之间的二维表格,可以明显看出来什么语言大致能拿到什么样的工资:

  • 跟数据分析相关的语言拿工资最高的居然是Matlab,我查看了底层数据,使用Matlab语言工作的数据只有7条,所以这个工资可能还有待商榷,且他们未来意象学习的语言中,基本都包含了Python和C等比较热的语言,所以只掌握Matlab语言的朋友,也许目前工资比较高,但是为了以后着想可以开始储备一下其他原因。
  • 编程语言中,笔者不是非常懂的就不妄加评论了,大家有会相应语言的可以自己参照上表,下面对比照比较熟悉的Python、SQL和R解读一下表格;
  • 可以说三种在数据分析中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章