【60309-60310补充】《Python程序设计实验教程——以医药数据处理为例》第六章综合应用题

摘要:本文旨在帮助中国药科大学的学生学习必修课《Python与医药大数据处理》,在实验操作题方面给予代码参考。
欢迎各界人士共同讨论Python相关话题,并给予宝贵建议。

答应大家的60309和60310来啦!因为没有书在手边,代码和题目可能会有出入。就麻烦大家自己稍作修改啦!

目录

PY60309:英文词频统计

PY60310:中文词频统计


PY60309:英文词频统计

#构建排除词库
excludes={'the','of','and','a','to','in','for','is','are','with','can','that','be','by','this','an','as','been','based','or','which','has','from','these','on','used'}
def getText():
#读取文本内容
    txt=open('articleEng.txt','r').read()
    txt=txt.lower()
#将文本中的特殊字符替换为空格
    for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_’{|}~':
        txt=txt.replace(ch, "")
    return txt
hamletTxt=getText()
#拆分字符串为词汇列表
words=hamletTxt.split()
counts={}
#使用字典进行词频统计
for word in words:
    counts[word]=counts.get(word, 0)+1
#删除需要排除的词汇
for word in excludes:
    del(counts[word])
items=list(counts.items())
#对词频统计结果进行降序排列
items.sort(key=lambda x:x[1],reverse=True)
#显示排名前10位的关键词
for i in range(10):
    word,count=items[i]
    print("{0:<10}{1:>5}".format(word,count))

PY60310:中文词频统计

import jieba
#构建排除词库
excludes={"应用","方法","发现","一个","领域","分类"}
#读取文本内容
txt=open('articleChn.txt','r',encoding='utf-8').read()
#使用jieba库进行中文分词
words=jieba.lcut(txt)
counts={}
for word in words:
    #排除单个字符的分词结果
    if len(word)==1:
        continue
    else:
        #使用字典进行词频统计
        counts[word]=counts.get(word,0)+1
#删除需要排除的词汇
for word in excludes:
    del(counts[word])
items=list(counts.items())
#对词频统计结果进行降序排列
items.sort(key=lambda x:x[1],reverse=True)
#显示排名前15位的关键词
for i in range(15):
    word,count=items[i]
    print("{0:<10}{1:>5}".format(word,count))

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜半夏.1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值