基于统计词频分析图书馆采购书籍方向(朴素版)
(点击上方Python爱好者社区,可快速关注)
作者:王大伟
博客专栏:https://www.hellobi.com/u/wangdawei/articles
Python爱好者社区 唯一小编
前言
这个故事的开始是一个师姐(现在是本校图书馆老师)想要看看图书馆的被借过的书和没被借过的书的特征
可能是想为之后图书馆采购书籍做个参考。
于是当师姐找到我时
我欣然接受这个task啦~
首先,她给我两个excel文档
打开是这样的:
不重要和敏感信息已经打码脱敏~
pandas大法好
接下来,就要使用Python中学过的pandas啦~
在使用pandas过程中,感谢@秦路老师和@诛胖土豆的深夜指导!
import pandas as pd
import numpy as np
df=pd.read_excel("被借过的书.xlsx")#如果不是放在jupyter notebook目录里,要加上相应路径
df#看看效果
我选择jupyter notebook作为IDE 而不是pycharm,就是因为喜欢它的可视化展现和保存执行结果
处理思路:将正题名一列的名字全部合成一条字符串,然后分词。
a=''.join(df['正题名'])#使用join()方法将df正题名一列名字顺序连接起来放在字符串a中
a#看一下a的内容
分词处理
import jieba#导入jieba分词模块,安装和简单使用方法已经在我之前的文章里说过啦~
统计词频
思路:建立一个空字典,用jieba的精准模式分词通过key存分出来的词,value存词频,最后打印词和对应词频
wordsall = {} #define return dic
seg_list = jieba.cut(a, cut_all=False)
rowlist = ' '.join(seg_list)
words = rowlist.split(' ')
for word in words:
if word !=' ':
if word in wordsall:
wordsall[word]+=1
else:
wordsall[word] = 1
wordsall = sorted(wordsall.items(), key=lambda d:d[1], reverse = True)
for (word,cut) in wordsall:
print ('%s:' % word,cut)
被借过的书分析结果如下:
没被借过的书分析结果如下:
通过观察可以发现:有与、的等无意义的词也被统计了,管理、经济、中国、研究等词在被借过的书和没被借过的书里都高频出现,说明图书馆有很多类似字样的书,而投资、物流、会计等在被借过的书中高频出现,而报告、产业、国际、现代等词在没被借过的书中高频出现,这为图书馆新采购书提供了一点点点点点点参考。
说到做到,新福利来啦:
关注公众号,在公众号菜单点击"免费听课",即可参与活动免费听19.9元收费课程,当然,壕大大可以直接购买听课啦。
壕大大入口:https://edu.hellobi.com/course/186,点击文末阅读原文可购买
本次主打课程:
Hellobi Live | 6月6日 自然语言处理之-基于深度学习技术的聊天机器人实现
课程名称:
自然语言处理之-基于深度学习技术的聊天机器人实现
课程背景:
NLP是一个很大的领域,自成一系,本次课程通过一个企业级案例(聊天机器人)带领大家从了解项目场景开始一步步搭建,最后演示聊天机器人实例。通过本课程的学习,让你一举打开NLP的大门。
主讲老师:
Kenny,计算机硕士,曾在某上市公司和世界500强公司分别担任智能算法工程师,高级算法挖掘工程师,具有多年的大数据项目开发实战经验,坚持在代码开发的一线,设计和实现了多个大数据项目。
Kenny博客专栏:https://ask.hellobi.com/blog/KennySayHi
直播时间:
2017年6月6日晚上8点到10点
课程内容:
1、 聊天机器人概括,应用场景,分类,技术发展路线及基于深度学习技术聊天机器人
2、 基于深度学习聊天机器人训练数据收集,清洗
3、 特征工程:文本数据预处理,特征化和数值化后转化为可训练的数据
4、 LSTM组件介绍
5、 Seq2seq算法介绍
6、 Seq2seq模型的优缺点和改进
为大家提供与Python相关的最新技术和资讯。
长按指纹 > 识别图中二维码 > 添加关注