python还停留在初级水平,这东西还是要多练习。想对分好词的文本进行词频统计,参考了http://blog.csdn.net/zhanglei0107/article/details/8867833这篇教程,但是感觉自己不是琢磨的特别透彻,同时作为数据分析师小白,觉得用pandas进行分析感觉更好,毕竟自己编程功底还是比较低。
代码如下:
from pandas import DataFrame,Series
import pandas as pd
import urllib
#函数用于统计词频#
def word_count_dict(filename):
file=open(filename)
s=file.read()
u = s.decode('gbk')
dict={}
for line in u:
for word in line.split():
if word in dict:
dict[word]+=1
else:
dict[word]=1
file.close()
return dict
#其实这里还是不是很理解,为什么会有值存入字典中??#
dict_value=word_count_dict('C:/Python34/test1.txt')
dict_list=DataFrame({
'word':dict_value.keys(),'word_count':dict_value.values()},columns=['word','word_count'],index=range(len(dict_value.keys())))
这里其实遇到了几个问题,自己也是琢磨了蛮久,哎,主要是自己底子薄啊。
1)怎么字典转DataFrame格式,网上查了半天也没有详细的解答方法,后来还是在用python进行数据分析这本书上找到答案,学习python做数据分析,这本书还是不错的。
2)转化成果后,能输出结构,但使用命令部队,比如:
dict_list[dict_list['word_count']>50]
老是报错,说*not in index,最后在DataFrame命令中补上columns和index,才解析正确,这个错误估计也只有我这种小白才会犯吧。
3)编码问题,也是折腾了一阵,还是自己编的太少,不过还好解决了。
4)还没有对词频进行处理,比如特殊符合啥的,还需要进一步做,不过总算是解决了核心的问题。
其实在遇到各种小白问题,解决后,感觉还是学到蛮多东西。