import pandas as pd import matplotlib.pyplot as plt from wordcloud import WordCloud def create_wordcloud(city_name): data_path = r"C:\Users\17116\Desktop\大一\去哪儿.xlsx" travel_data = pd.read_excel(data_path) city_dataframe = travel_data.groupby('地点').get_group(city_name) # 提取玩法列并合并为一个字符串 corpus = ' '.join(city_dataframe['玩法']) # 创建词云对象 wordcloud = WordCloud( width=2000, height=500, font_path="C:/Windows/Fonts/simfang.ttf", background_color='white').generate(corpus) # 在显示词云图之前设置图像大小 plt.figure(figsize=(60, 30)) plt.imshow(wordcloud.recolor(), interpolation="bilinear") plt.axis('off') plt.show() 基于上面的代码,如何实现把“玩法”那一列中的“深度游”剔除后生成词云图
时间: 2024-04-15 22:31:44 浏览: 117
要实现将“玩法”列中的“深度游”剔除后生成词云图,你可以在创建词云对象之前对数据进行处理。以下是修改后的代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud
def create_wordcloud(city_name):
data_path = r"C:\Users\17116\Desktop\大一\去哪儿.xlsx"
travel_data = pd.read_excel(data_path)
city_dataframe = travel_data.groupby('地点').get_group(city_name)
# 剔除玩法列中的"深度游"
city_dataframe = city_dataframe[city_dataframe['玩法'] != '深度游']
# 提取玩法列并合并为一个字符串
corpus = ' '.join(city_dataframe['玩法'])
# 创建词云对象
wordcloud = WordCloud(width=2000, height=500, font_path="C:/Windows/Fonts/simfang.ttf",
background_color='white').generate(corpus)
# 在显示词云图之前设置图像大小
plt.figure(figsize=(60, 30))
plt.imshow(wordcloud.recolor(), interpolation="bilinear")
plt.axis('off')
plt.show()
```
在上面的代码中,我们使用 `city_dataframe = city_dataframe[city_dataframe['玩法'] != '深度游']` 这一行代码剔除了玩法列中值为"深度游"的行。然后,我们再提取剔除后的玩法列并合并为一个字符串,最后创建词云对象并显示词云图。
阅读全文