需求: 某某金融大亨想涉足金融网贷,想给网贷平台取一个名字,那么取什么名字,名字里面包含哪些关键字,在行业内的曝光率会相比较高一些呢? 可以理解为: 你负责某某网贷平台的网络推广工作,如何进一步优化各广告推广平台上的搜索关键词,这些网贷平台的名称都有啥共同点? 其实就是: 想看看各网贷平台名称的高频词汇,给各平台的名称划下重点 找数据: 获取所有网贷平台的平台基本名称数据,这样子才能进行下一步工作 把网贷之家上所有平台的数据找出来,这样就可以了 读取数据: import pymysql import pandas as pd 方法一:pandas直接读取数据库数据 1.用pymysql连接数据库 2.用pandas通过数据库读取数据(读取速度非常的快) 方法二:pandas读取本地xls或者csv格式文件(因为并不是所有做数据的人都有权限访问数据库,有些是从系统导出数据,再进行操作,所以这也是为了照顾这批人) 读取数据后的基本操作
查看某一列
查看各字段的数据类型 plat.dtypes 在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中最简单大众的中文分词库了,现在很多教程分词都是用这个库 这是我之前监控大学同学微信群,然后收集大家短时间内的一顿瞎聊的聊天记录,做出来的云词图效果。 可以看出大家都挺开心的,哈哈哈哈。 毕业即结婚确实是热门话题,减肥啊,工作啊,外卖啊,胖啊,吃饭啊是大家很关心的话题。 操作如下: 得到一个wordDict的词典,现在我们用pandas 将这个词典的key和value 转换成 DataFrame 格式的数据 查看结果 显得乱七八糟,我们按‘value’字段进行降序,看的更直观一些 result.sort_values(by=''value'',ascending=False) 此时,分词结果非常的直观了 可以看到:5776个平台名称中,”财富”出现了662次,”金融”有560次,”贷”出现了557次…… 这下子,做网贷推广工作的,关键词上应该也能有不少启发,其实是可以用在工作中的,提高平台的搜索曝光度。 财富,金融,贷,投资,理财,创投,金服,网,在线………………………… 总结: 1.使用pandas读取数据 使用最多的两种方式,本地文件读取和数据库读取,如果没有其他什么特别要求,下面写的够用了 plat = pd.read_sql(''sql语句'',con) plat = pd.read_csv(''文件名(带路径)'',encoding=''utf-8'') plat = pd.read_excel(''文件名(带路径)'',sheetname=''表名称'') 如果遇到什么问题,也可以和我一起交流 详细参考pandas官方文档 by:给哪些字段排序 如果是多字段则是 by=[''platId'',''platName''] 这样子的 axis : 轴,一般按列的话,默认0就行。如果是1,意思就是按索引来排序了(很少用到) ascending: 默认是升序 True ,如果需要降序的话就 ascending = False inplace: 默认是False , 这个参数在pandas里面用处挺大,就是问你是不是要按排序的结果替换了,True则是替换原结果,这样子你的plat数据就是按你排序的呈现了,如果是False则不替换原结果 kind:默认 ''quicksort'' 就行,快速排序。 下面这个是按索引排序 plat.sort_index():意思就是按索引号来排序 level 在多个索引的时候有用 值为索引号(0,1,2)或者索引名称 na_position:遇到空值NaN,那么你是让它排在前面还是排在最后面 ‘first’是排在前面,‘last’则是丢到后面 鼓励大家自己敲代码,故以图片的形式贴的代码。这玩意儿需要锻炼耐心。对于pandas一些方法的参数,大家大胆去试错,就知道他们的用法在哪里了,只有错过才能刻骨铭心。 |
|