分享

网贷数据:python进行数据分析并可视化系列

 期盼又见晨曦 2017-12-28

需求:

某某金融大亨想涉足金融网贷,想给网贷平台取一个名字,那么取什么名字,名字里面包含哪些关键字,在行业内的曝光率会相比较高一些呢?

可以理解为:

你负责某某网贷平台的网络推广工作,如何进一步优化各广告推广平台上的搜索关键词,这些网贷平台的名称都有啥共同点?

其实就是:

想看看各网贷平台名称的高频词汇,给各平台的名称划下重点

找数据:

获取所有网贷平台的平台基本名称数据,这样子才能进行下一步工作

把网贷之家上所有平台的数据找出来,这样就可以了

网贷数据:python进行数据分析并可视化系列

读取数据:

import pymysql

import pandas as pd

方法一:pandas直接读取数据库数据

1.pymysql连接数据库

网贷数据:python进行数据分析并可视化系列

2.pandas通过数据库读取数据(读取速度非常的快)

网贷数据:python进行数据分析并可视化系列

方法二:pandas读取本地xls或者csv格式文件(因为并不是所有做数据的人都有权限访问数据库,有些是从系统导出数据,再进行操作,所以这也是为了照顾这批人)

网贷数据:python进行数据分析并可视化系列

读取数据后的基本操作

  • 查看数据内容

  • plat 查看所有的数据,我一般都是用Jupyter QtConsole 编译器 进行数据操作,很灵活

网贷数据:python进行数据分析并可视化系列

  • plat.head() 默认是查看前5行 可加参数 比如 plat.head(n=10) 则是查看前十行

  • plat.tail() 默认是查看后5行 可加参数 比如 plat.tail(n=10) 则是查看后十行

网贷数据:python进行数据分析并可视化系列

查看某一列

  • plat.platName.head()

  • 查看多列则是:plat[[''platId'',’platPin’,’platName’]].head()

网贷数据:python进行数据分析并可视化系列

查看各字段的数据类型

plat.dtypes

网贷数据:python进行数据分析并可视化系列

在pandas 里面 有这么几种主要从数据类型:float,int,bool, datetime64[ns], timedelta[ns], category 和 object

一般情况下,从外部读取的数据,基本上以object为多,如果是数字格式,那么就会是int64或者float64,大多数情况下,读取的日期格式到pandas里面都是 object格式,需要自己转换为datetime64[ns]才行。(格式问题后期会详谈)

清洗整理数据及可视化:

我们只需要拿出platName 这一列,然后对平台名称进行分词,看一下网贷平台的取名都会有哪些规律

导入 jieba 这个库 import jieba(没有安装这个库的 自行 pip install jieba)

这个算是python中最简单大众的中文分词库了,现在很多教程分词都是用这个库

这是我之前监控大学同学微信群,然后收集大家短时间内的一顿瞎聊的聊天记录,做出来的云词图效果。

网贷数据:python进行数据分析并可视化系列

可以看出大家都挺开心的,哈哈哈哈。

毕业即结婚确实是热门话题,减肥啊,工作啊,外卖啊,胖啊,吃饭啊是大家很关心的话题。

网贷数据:python进行数据分析并可视化系列

操作如下:

网贷数据:python进行数据分析并可视化系列

得到一个wordDict的词典,现在我们用pandas 将这个词典的key和value 转换成 DataFrame 格式的数据

网贷数据:python进行数据分析并可视化系列

查看结果

网贷数据:python进行数据分析并可视化系列

显得乱七八糟,我们按‘value’字段进行降序,看的更直观一些

result.sort_values(by=''value'',ascending=False)

网贷数据:python进行数据分析并可视化系列

此时,分词结果非常的直观了

可以看到:5776个平台名称中,”财富”出现了662次,”金融”有560次,”贷”出现了557次……

这下子,做网贷推广工作的,关键词上应该也能有不少启发,其实是可以用在工作中的,提高平台的搜索曝光度。

财富,金融,贷,投资,理财,创投,金服,网,在线…………………………

网贷数据:python进行数据分析并可视化系列

总结:

1.使用pandas读取数据

使用最多的两种方式,本地文件读取和数据库读取,如果没有其他什么特别要求,下面写的够用了

plat = pd.read_sql(''sql语句'',con)

plat = pd.read_csv(''文件名(带路径)'',encoding=''utf-8'')

plat = pd.read_excel(''文件名(带路径)'',sheetname=''表名称'')

如果遇到什么问题,也可以和我一起交流

详细参考pandas官方文档

网贷数据:python进行数据分析并可视化系列

by:给哪些字段排序 如果是多字段则是 by=[''platId'',''platName''] 这样子的

axis : 轴,一般按列的话,默认0就行。如果是1,意思就是按索引来排序了(很少用到)

ascending: 默认是升序 True ,如果需要降序的话就 ascending = False

inplace: 默认是False , 这个参数在pandas里面用处挺大,就是问你是不是要按排序的结果替换了,True则是替换原结果,这样子你的plat数据就是按你排序的呈现了,如果是False则不替换原结果

kind:默认 ''quicksort'' 就行,快速排序。

下面这个是按索引排序

plat.sort_index():意思就是按索引号来排序

网贷数据:python进行数据分析并可视化系列

level 在多个索引的时候有用 值为索引号(0,1,2)或者索引名称

na_position:遇到空值NaN,那么你是让它排在前面还是排在最后面 ‘first’是排在前面,‘last’则是丢到后面

鼓励大家自己敲代码,故以图片的形式贴的代码。这玩意儿需要锻炼耐心。对于pandas一些方法的参数,大家大胆去试错,就知道他们的用法在哪里了,只有错过才能刻骨铭心。

网贷数据:python进行数据分析并可视化系列

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多