将常见人名进行去重后生成词云,并列出词频最高的10-20个词,并形成词云(可以有不同的形状)python代码
时间: 2024-02-16 08:02:50 浏览: 101
好的,我可以为您提供这个问题的解决方案。首先,为了生成词云,我们需要使用 `wordcloud` 库,可以通过 `pip install wordcloud` 命令来安装。然后,我们需要使用以下步骤来实现:
1. 读取人名数据,并进行去重处理。
2. 统计每个人名的出现次数。
3. 取出词频最高的10-20个人名。
4. 生成词云并保存。
下面是这个问题的代码实现:
```python
import pandas as pd
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
# 读取人名数据
data = pd.read_csv('names.csv', header=None)
names = data[0].tolist()
# 去重处理
unique_names = list(set(names))
# 统计每个人名的出现次数
name_counts = dict(Counter(names))
# 取出词频最高的10-20个人名
top_names = sorted(name_counts, key=name_counts.get, reverse=True)[:20]
# 构建词云
mask = np.array(Image.open('cloud.png'))
wc = WordCloud(background_color="white", max_words=2000, mask=mask, contour_width=3, contour_color='steelblue')
wc.generate_from_frequencies(name_counts)
plt.figure(figsize=(10,10))
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
# 保存词云
wc.to_file("names_wordcloud.png")
```
上述代码中,我们假设人名数据保存在 `names.csv` 文件中,每个人名占据一行。我们还使用了一个云形状图片 `cloud.png`,用来制作具有形状的词云。如果您没有云形状图片,可以直接去掉这个参数。最后,生成的词云会保存在 `names_wordcloud.png` 文件中。
请注意,上述代码中的生成词云的过程可能会比较耗时,具体时间取决于数据量的大小和计算机的性能。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![tar](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)