知乎数据可视化

前段时间不知道从哪里弄来的一份知乎数据,数据量不多,只有二十万的样子,今天就以这二十万数据来进行一次简单地数据可视化,主要的工具就是两个:pandas和matplotlib。
以下相关的代码和示例数据在文末有相应的下载链接,你可以下载数据自己尝试。

实际上,你也可以使用BI软件进行分析,速度和可视化效果很好,最主要的是操作相对容易,但是我们拿到的这份示例数据并不规整,也就是有部分内容是乱的,爬虫爬下来的数据有错位的情况,因此对于数据的清洗需要一定的时间,为了方便,我们就直接编程实现。

导入数据

我们使用jupyter notebook作为我们的ide工具
首先来看一下我们的原始数据的样子。

1203446-20170831133148249-2021703021.png

我们习惯于使用英文作为我们的列索引,因此我们在导入数据的时候指定索引的名称,如下所示。

1203446-20170831133729468-354189168.png

其中,%matplotlib inline指定我们的plt做的图嵌入在ide之中,而不是弹窗显示。
其结果如下所示,后面还有数据列,只是截图容不下了。

1203446-20170831134018140-325088352.png

知乎用户高校分布情况

我们首先来看一下哪些高校的知乎用户数量最多,核心思路就是我们对高校进行计数,然后按照数量进行降序排序,选择选取前十位进行绘图表示。在实际操作的过程总,我发现了一个问题,计数结果排名比较靠前的数据中有一些是诸如”大学“, ’大学本科‘这样的数据,显然我们需要先将其去掉。
我们自定义一个函数,如果其学校填写的是某一些特定的数据,我们就将其置为空。
因为我们只需要排名靠前的大学,那些名字更加奇葩的我们就不管了,毕竟我们用不到。

1203446-20170831135441515-698988778.png

下面就直接开始绘图了。

1203446-20170831135705968-1617467991.png

其结果如下

1203446-20170831135744437-1315011733.jpg

一眼望过去,你会发现全是985高校,真是着实让人悲伤。
既然那么多的985,那么我们下一步的思路就是,看一下985的人数在总人数中所占的比例。

985高校用户占比

思路就是我们定义一个函数,如果这所学校是985的话,我们就给他一个记号为1,如果不是就为0,为什么是1/0而不是其他的呢,待会我们作图的时候你就知道了。

1203446-20170831140446890-1445878816.png

看一下效果

1203446-20170831140607687-1763138581.png

检查一下是不是已经完全的实现了标记情况。

1203446-20170831140731593-2107756080.png

直接开始绘图吧

1203446-20170831140835483-1280685118.png

简单地解释一下clean_name.name = ''在绘制饼图的时候,Series的name会默认以标签的形式出现在饼图的左边,好好的一个饼图,左边多了一个label显然是不美观的,因此我们直接将Series的name去掉,你可以尝试注释掉这一行,来看一下会是什么样子。

1203446-20170831141322280-1329943193.jpg

从上面的饼图可以看到,虽然985高校只有34所,但是其占比达到了1/4,真是让人怀疑这些高校的学生是不是人手一个知乎App。

回答数Top10

这个地方就出现了数据混乱的情况,按理说,回答都是整数,但是这里面的部分数据出现了值为汉字的情况,因此,要想进行下一步的分析,只能先对这些数据进行处理。
使用正则表达式,将非数字全部替换为0,最后把这一列的数据类型转换成整型。

1203446-20170831142257733-1721353516.png

我们这里将用户名作为我们的索引,方便下一步的绘图。

1203446-20170831142725749-3198991.png

1203446-20170831142845077-493807213.jpg

知乎性别比例

1203446-20170831143208358-351871194.png

1203446-20170831143219343-300025671.jpg

词云展示

最后,我们将以上数据中所呈现的专业进行一下词频统计,并制作出词云。

1203446-20170831143421062-1539489699.png

1203446-20170831143504499-853496709.png

1203446-20170831143520796-1229944013.jpg

计算机,金融完胜。

既然做到这了,顺便在看一下这些大V的就职公司。

1203446-20170831143644983-832819517.png

1203446-20170831143701608-835755614.jpg

做的非常的粗糙,看到的同学请见谅。
你可以去github下载以上的代码和相应的数据。

github地址: https://github.com/cnkai/data-visualization.git

转载于:https://www.cnblogs.com/cnkai/p/7458235.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值