#导入之前的语料库
import pandas as pd
chapter=pd.read_csv('chapter.xlsx')
#自定义词典
import jieba
dict = '金庸小说词库.txt'
jieba.load_userdict(dict) # dict为自定义词典的路径
#停用词
tmpdf = pd.read_csv('停用词.txt',
names = ['w'], sep = 'aaa', encoding = 'utf-8')
import jieba.analyse as ana
ana.set_stop_words('停用词.txt')
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:3: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.
This is separate from the ipykernel package so we can avoid doing imports until
#分词
word_list = jieba.lcut(chapter.txt[0])
word_list[:10]
['第一回', ' ', '风雪', '惊变', '钱塘江', '浩浩', '江水', ',', '日日夜夜', '无穷']
使用Pandas统计
df = pd.DataFrame(word_list, columns = ['word'])
df.head(30)
word | |
---|---|
0 | 第一回 |
1 | |
2 | 风雪 |
3 | 惊变 |
4 | 钱塘江 |
5 | 浩浩 |
6 | 江水 |
7 | , |
8 | 日日夜夜 |
9 | 无穷 |
10 | 无休 |
11 | 的 |
12 | 从 |
13 | 两 |
14 | 浙西 |
15 | 路 |
16 | 临安 |
17 | 府 |
18 | 牛家村 |
19 | 边 |
20 | 绕过 |
21 | , |
22 | 东 |
23 | 流入 |
24 | 海 |
25 | 。 |
26 | 江畔 |
27 | 一排 |
28 | 数十株 |
29 | 乌 |
result = df.groupby(['word']).size()
print(type(result))
freqlist = result.sort_values(ascending=False)
freqlist[:20]
<class 'pandas.core.series.Series'>
word
, 2034
。 714
了 400
“ 344
: 343
” 342
的 291
道 210
他 187
是 168
杨铁心 148
在 140
? 136
包惜弱 114
那 108
又 97
我 94
得 91
也 88
! 85
dtype: int64
使用NLTK统计
NLTK生成的结果为频数字典,在和某些程序包对接时比较有用
import nltk
# 分词等预处理工作
# 这里可以根据需要做任何的preprocessing: stopwords, lemma, stemming, etc.
word_list[:10]
['第一回', ' ', '风雪', '惊变', '钱塘江', '浩浩', '江水', ',', '日日夜夜', '无穷']
fdist = nltk.FreqDist(word_list) # 生成完整的词条频数字典
fdist
FreqDist({',': 2034, '。': 714, '了': 400, '“': 344, ':': 343, '”': 342, '的': 291, '道': 210, '他': 187, '是': 168, ...})
# 带上某个单词, 可以看到它在整个文章中出现的次数
fdist['颜烈']
37
fdist.keys() # 列出词条列表
dict_keys(['第一回', ' ', '风雪', '惊变', '钱塘江', '浩浩', '江水', ',', '日日夜夜', '无穷', '无休', '的', '从', '两', '浙西', '路', '临安', '府', '牛家村', '边', '绕过', '东', '流入', '海', '。', '江畔', '一排', '数十株', '乌', '柏树', '叶子', '似', '火烧', '般红', '正是', '八月', '天时', '村前村后', '野草', '刚', '起始', '变黄', '一抹', '斜阳', '映照', '之下', '更增', '了', '几分', '萧索', '两株', '大', '松树', '下', '围着', '一堆', '村民', '男男女女', '和', '十几个', '小孩', '正自', '聚精会神', '听', '着', '一个', '瘦削', '老者', '说话', '那', '人', '五十', '来', '岁', '年纪', '一件', '青布', '长袍', '早洗', '得', '褪成', '蓝灰', '带白', '只', '他', '两片', '梨花', '木板', '碰', '几下', '左手', '中', '竹棒', '在', '一面', '小', '羯鼓', '上', '敲起', '连声', '唱道', ':', '“', '小桃', '无主自', '开花', '烟草', '茫茫', '带', '晚鸦', '几处', '败垣围', '故井', '向来', '一一', '是', '人家', '”', '将', '敲', '说道', '这首', '七言诗', '说', '兵火', '过后', '原来', '家家户户', '都', '变成', '断', '墙', '残瓦', '破败', '之地', '小人', '刚才', '到', '叶老汉', '一家', '四口', '悲欢离合', '聚', '又', '散', '他四人', '给', '金兵', '冲散', '好容易', '再', '团聚', '欢天喜地', '地', '回到', '故乡', '卫州', '却', '见', '房屋', '已', '烧', '干干净净', '无可奈何', '只得', '去', '京城', '汴梁', '想', '觅', '个', '生计', '不', '料想', '天有不测风云', '人有旦夕祸福', '刚进', '城', '迎面', '便', '过来', '一队', '带兵', '头儿', '一双', '三角', '眼觑', '过去', '叶三姐', '生', '美貌', '跳', '下马', '当即', '一把', '抱住', '哈哈大笑', '她', '放上', '马鞍', '‘', '小姑娘', '跟', '我', '回家', '服侍', '老爷', '’', '如何', '肯', '?', '拼命', '挣扎', '那金兵', '长官', '喝道', '你', '不肯', '杀', '父母', '兄弟', '!', '提起', '狼牙棒', '一', '棒打', '叶四郎', '头上', '登时', '脑浆', '迸裂', '一命呜呼', '阴世', '新添', '枉死鬼', '阳间', '不见', '少年人', '叶', '妈妈', '吓', '呆', '扑', '上去', '搂住', '儿子', '尸体', '放声大哭', '一棒', '帐', '啼哭', '休', '凶恶', '大喜', '带得', '不料', '觑', '不防', '突然', '抢步', '拔出', '腰刀', '对准', '心口', '挺刀', '刺', '说时迟', '那时快', '这', '钢刀', '刺去', '眼见', '可报', '大仇', '久经', '战阵', '武艺', '精熟', '顺手', '一推', '摔', '出去', '骂', '一声', '贱人', '举起', '脖子', '中一勒', '可怜', '花容月貌', '无双', '女', '惆怅', '芳魂', '赴', '九泉', '一段', '唱', '众', '无不', '咬牙切齿', '愤怒', '叹息', '那人', '道', '众位', '常言道', '好', '为', '切莫', '用', '欺心', '举头', '三尺', '有', '神明', '若', '还', '作恶', '无', '报应', '天下', '凶徒', '人吃人', '可是', '占', '大宋', '杀人放火', '奸淫掳掠', '无恶不作', '遭到', '什么', '只怪', '官家', '不争气', '中国', '本来', '兵多将广', '见到', '到来', '远远地', '逃之夭夭', '剩下', '老百姓', '遭殃', '好似', '惨祸', '江北', '实', '成千成万', '如', '家常便饭', '一般', '诸君', '住', '江南', '当真', '天堂', '里', '怕只怕', '何日', '宁作', '太平', '犬', '莫为', '乱世', '张十五', '今日', '路经', '贵', '听客', '叫作', '《', '节烈', '记', '》', '话本', '说彻', '权', '作', '散场', '啪', '啪啪', '乱', '一阵', '托出', '一只', '盘子', '有人', '拿出', '两文', '三文', '放入', '木盘', '霎时间', '六七十', '文', '谢', '铜钱', '囊中', '欲', '起行', '走出', '一个二十', '大汉', '张', '先生', '北方', '吗', '口音', '身材', '魁梧', '浓眉大眼', '小弟', '做东', '请', '饮', '三杯', '素不相识', '怎敢', '叨扰', '笑', '喝上', '相识', '俺', '姓', '郭', '名叫', '郭啸天', '指着', '身旁', '白净', '面皮', '汉子', '这位', '杨铁心', '杨兄弟', '适才', '二人', '说唱', '果然', '说得好', '几句话', '想要', '请问', '十五道', '得遇', '郭杨', '二位', '也', '有缘', '来到', '村头', '酒店', '饭桌', '旁坐', '主人', '跛子', '撑', '两根', '拐杖', '慢慢', '烫', '两壶', '黄酒', '摆', '出', '一碟', '蚕豆', '、', '咸', '花生', '豆腐干', '另有', '三个', '切开', '咸蛋', '自行', '门口', '板凳', '坐', '抬头', '瞧', '天边', '正要', '落山', '太阳', '不再', '向', '三人望', '一眼', '斟', '酒', '劝', '喝', '两杯', '乡下', '地方', '初二', '十六', '才', '肉', '卖', '没', '下酒', '之物', '莫怪', '两位', '遮莫', '原',