python如何将字典中的值转化为list结构,以词频统计为例

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)还没有对词频进行处理,比如特殊符合啥的,还需要进一步做,不过总算是解决了核心的问题。

其实在遇到各种小白问题,解决后,感觉还是学到蛮多东西。

    原文作者:数据小白菜
    原文地址: https://blog.csdn.net/u014021722/article/details/51711398
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞