基于统计词频分析图书馆采购书籍方向(朴素版)

浏览: 2562

前言

这个故事的开始是一个师姐(现在是本校图书馆老师)想要看看图书馆的被借过的书和没被借过的书的特征

可能是想为之后图书馆采购书籍做个参考。


于是当师姐找到我时

我欣然接受这个task啦~


首先,她给我两个excel文档

Clipboard Image.png


打开是这样的:

Clipboard Image.png

不重要和敏感信息已经打码脱敏~

pandas大法好

接下来,就要使用Python中学过的pandas啦~

在使用pandas过程中,感谢@秦路老师和@诛胖土豆的深夜指导!

import pandas as pd
import numpy as np
df=pd.read_excel("被借过的书.xlsx")#如果不是放在jupyter notebook目录里,要加上相应路径
df#看看效果

Clipboard Image.png


我选择jupyter notebook作为IDE  而不是pycharm,就是因为喜欢它的可视化展现和保存执行结果


Clipboard Image.png


处理思路:将正题名一列的名字全部合成一条字符串,然后分词。

a=''.join(df['正题名'])#使用join()方法将df正题名一列名字顺序连接起来放在字符串a中
a#看一下a的内容

Clipboard Image.png


分词处理

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)   

被借过的书分析结果如下:

Clipboard Image.png

没被借过的书分析结果如下:

Clipboard Image.png


通过观察可以发现:有与、的等无意义的词也被统计了,管理、经济、中国、研究等词在被借过的书和没被借过的书里都高频出现,说明图书馆有很多类似字样的书,而投资、物流、会计等在被借过的书中高频出现,而报告、产业、国际、现代等词在没被借过的书中高频出现,这为图书馆新采购书提供了一点点点点点点参考。

推荐 3
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

有一点不明白,既然已经有先决条件判断:if word != '',为什么最后的抓词结果里还是分别出现了974条(借过)和1334(没借过)条空记录呢?

要回复文章请先登录注册