统计英语六级中的高频单词

统计英语六级中的高频单词

思路

  • 1,数据集收集——从历年真题中获取六级文章(代码中的1.txt,10套真题的内容)
  • 2,数据清洗——我这里清洗的比较简单(就简单全部转小写,去除标点符号)
  • 3,数据获取——统计各个单词个数
  • 4,去除非期望数据——就是去除in,of这些比较简单常见的词汇

代码实现

import collections

# 读取数据
file = open("C:/Users/64012/Desktop/六级/1.txt", "r",encoding="utf-8")
content = file.read()
file.close()
# 1.对s进行预处理,包括全部转为小写、去除标点符号;
content = content.lower()
content = content.translate(str.maketrans("","",string.punctuation))
context_list = content.split()

#统计各个单词个数
counter = collections.Counter(context_list)
# 去除键为数字的键值对
counter = {word: count for word, count in counter.items() if not word.isdigit()}
# 去除一些常间词 like of in the
filtered_counter = {word: count for word, count in counter.items() if count <= 40 and count>=5}

# #输出进控制台
# keys = list(filtered_counter.keys())
# num_words = len(keys)
# num_columns = 6
# num_rows = -(-num_words // num_columns)  # 计算行数,向上取整
#
# max_word_length = max(len(word) for word in keys)  # 找到最长的单词长度
#
# for i in range(num_rows):
#     row = [keys[i + num_rows*j].ljust(max_word_length) for j in range(num_columns) if i + num_rows*j < num_words]
#     print(' '.join(row))

# 输出进文档
keys = list(filtered_counter.keys())
num_words = len(keys)
num_columns = 6
num_rows = -(-num_words // num_columns)  # 计算行数,向上取整*

max_word_length = max(len(word) for word in keys)  # 找到最长的单词长度

with open("C:/Users/64012/Desktop/六级/output.txt", "w", encoding="utf-8") as file:
    for i in range(num_rows):
        row = [keys[i + num_rows*j].ljust(max_word_length) for j in range(num_columns) if i + num_rows*j < num_words]
        file.write(' '.join(row) + "\n")




运行结果

我统计的是频率为5~40之间的(因为大于40的大部分是of,in,之类的词),可见结果中还是统计到了一些非期望字符(’f‘,‘h’……),主要原因还是数据集较差。但总体还是统计出了六级高频词汇。
在这里插入图片描述

总结

  • 1,进行本次研究主要是因为学校python课程有类似的实验,刚好本人也在准备六级。正好可以玩一下
  • 2,意识到了数据收集,数据清洗的重要性。
  • 20
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值