大数据词频统计详细步骤和代码
时间: 2023-10-29 18:07:14 浏览: 48
大数据词频统计是指对大量文本进行分析,统计其中每个词出现的频率。下面是一个详细的步骤和代码示例:
1. 数据准备
首先需要准备一份包含大量文本的数据集,可以是一个或多个文件。例如,我们可以使用以下的文本数据:
```
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog again.
The lazy dog is too tired to move.
```
2. 数据清洗
将文本数据进行清洗,去除标点符号、空格、换行符等无关信息,只保留单词。可以使用正则表达式来实现。
```
import re
def clean_text(text):
# 去除标点符号
text = re.sub(r'[^\w\s]', '', text)
# 转换为小写
text = text.lower()
# 去除空格和换行符
text = re.sub(r'\s+', ' ', text)
# 返回单词列表
return text.strip().split()
# 读取文本数据
with open('data.txt', 'r') as f:
data = f.read()
# 清洗文本数据
words = clean_text(data)
```
3. 统计词频
使用字典来记录每个单词出现的次数,遍历单词列表,对于每个单词,如果在字典中已存在,则将计数器加1,否则将其添加到字典中。
```
# 统计词频
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 输出前10个出现频率最高的单词
for word, freq in sorted(word_freq.items(), key=lambda x: x[1], reverse=True)[:10]:
print(word, freq)
```
输出结果如下:
```
the 4
lazy 2
dog 2
quick 2
brown 2
fox 2
jumps 2
over 2
again 1
is 1
```
这些单词的出现频率是按照从高到低的顺序排列的。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)