虎嗅文章分析(一)

数据来源

数据来源于博主高级农民工的博客文章“pyspider爬取并分析虎嗅网5万篇文章”,感谢博主提供的数据与代码。

数据导入

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']   #用来显示中文标签
plt.rcParams['axes.unicode_minus'] = False    #显示负号
%matplotlib inline
data = pd.read_csv('G:\huxiu_data\huxiu.csv')
data.head()
虎嗅文章分析(一)_第1张图片
样本数据.PNG

数据共包含49996行,7列。
列名含义:abstract 摘要 comment 评论 favorites 喜欢 name 姓名 title 标题 url 网址 write_time 写作时间

数据清洗

数据清洗主要包括清除重复值,以及查看数据缺失与否,数据格式是否要转换等等。
在本次分析中,进行了去重处理;将时间里的几小时前或者几天前的数据转化为日期格式;以及删除了姓名中多余的字符©;

data.drop_duplicates(keep  ='first',inplace  = True)  #去重
data = data.reset_index(drop = True)

data['write_time'] = data['write_time'].replace('.*小时前','2018-11-02',regex = True)
data['write_time'] = data['write_time'].replace('1天前','2018-11-01')
data['write_time'] = data['write_time'].replace('2天前','2018-10-31')
data['write_time'] = data['write_time'].replace('3天前','2018-10-30')
data['write_time'] = data['write_time'].replace('4天前','2018-10-29')
data['write_time'] = data['write_time'].replace('5天前','2018-10-28')
data['write_time'] = data['write_time'].replace('6天前','2018-10-27')  #时间格式转换
data['write_time'] = pd.to_datetime(data['write_time'])

data['name'] = data['name'].replace('©','',regex=True)
#data['name'] = data['name'].str.strip('©')   

#增加一列数据   标题的长度  进行后续分析
data['title_length'] = data['title'].apply(len)

数据分析

数字变量分析

data.describe()
虎嗅文章分析(一)_第2张图片
数字变量总体情况.PNG

可以看到:

  • 文章的平均评论数与收藏量都不是很多,其中文章平均评论量为24,文章平均收藏量为48。
  • 两组数据的偏差都比较大,不同文章之间的评论量与收藏量差异巨大;
  • 文章平均长度为23个字,比较有趣的是字数最少的标题竟然只有一个字,下面看看标题只有一个字的文章长什么样?


    虎嗅文章分析(一)_第3张图片
    壳.PNG

    文章标题为一个字的文章标题:”壳”

评论量、收藏数和字数长度之间的关系

import seaborn as sns
sns.pairplot(data,diag_kind="kde")  # diag_kind 表示单变量为线性,默认值条形图。
虎嗅文章分析(一)_第4张图片
评论量、收藏数和字数长度之间的关系.png

从上可以看出:

  • 评论量与收藏量都是长尾分布,大部分文章评论量与收藏量较少,少量的文章获得了较多的评论量与收藏量。
  • 通过分析评论量与收藏量的关系,发现,评论量较高的文章,收藏量较低;收藏量较高的文章,评论量较低。
  • 文章标题长度超过100的,收藏量与评论量都比较低。

文章收藏量TOP20

top = data.sort_values(['favorites'],ascending = False)
top.index = range(1,1+len(top.index))
top.index.name = 'TOP20'
top[:20][['title','favorites','comment']]
虎嗅文章分析(一)_第5张图片
文章收藏量TOP20.PNG

在收藏量TOP20中,仅仅通过分析标题,主题有书籍推荐、演讲、经济、思维等,可以发现大部分都是干货。但是收藏量第2的文章似乎与与其他的文章格格不入?京东打脸央视,不像干货?去虎嗅上瞧瞧~


虎嗅文章分析(一)_第6张图片
京东打脸央视.PNG

仔细看了这篇文章,小佳觉得完全没有收藏的必要
央视曝京东涉嫌销售翻新机,然后京东拿出证据证明自己清白,小佳总觉得这是京东的软文。23333,收藏量第二?水军刷上去的么?

文章评论量TOP20

top_1 = data.sort_values(['comment'],ascending = False)
top_1.index = range(1,1+len(top.index))
top_1.index.name = 'TOP20'
top_1[:20][['title','favorites','comment']]
虎嗅文章分析(一)_第7张图片
评论量top20.PNG
  • 有一些文章标题带问号,暗示读者去评论?
  • 为什么三星的话题评论量这么多?小佳决定去找几篇关于三星的文章瞅瞅~
    小佳去看了这几篇文章,简直一言难尽······
    下面是其中两篇文章的评论:


    虎嗅文章分析(一)_第8张图片
    三星文章评论.PNG

    虎嗅文章分析(一)_第9张图片
    三星文章评论

    诶,感觉是软文,虎嗅肯定收三星钱了。

最高产作家top10

data.name.value_counts()
data_name = data[data['name'] !='虎嗅']  # 删除虎嗅官方的文章
data_name.groupby('name')['title'].count().sort_values(ascending = False).head(10)
虎嗅文章分析(一)_第10张图片
最高产作家top10.PNG

未完待续,虎嗅文章分析(二),敬请期待······

你可能感兴趣的:(虎嗅文章分析(一))