我们社区美食数据制作词云实践 - 哈希刮刀

通过我们社区的美食店数据可视化和爬虫实践,了解Python数据可视化库如Matplotlib、Seaborn、Plotly、Bokeh、Altair等的信息。

5
我们社区美食数据制作词云实践 - 哈希刮刀

1. 数据可视化和爬虫

1.1. 数据可视化是什么?

数据可视化是将复杂数据或模式直观地表达,以便更容易理解的过程。图像、图表、图形等各种形式可以用来表达信息,有效的可视化有助于发现数据中隐藏的洞察力。

1.2. Python数据可视化库种类

1.2.1. Matplotlib(https://matplotlib.org/)

notion image

Matplotlib是用于在Python中绘制2D图形的基本库。

当需要各种图表和绘图样式时,如线图、散点图、条形图、直方图、饼图等,可以使用它。由于提供了高度灵活的绘图样式,因此它被认为是最常用的库之一。因此,它是其他可视化库的基础库。

1.2.2. Seaborn(https://seaborn.pydata.org/)

notion image

Seaborn是基于Matplotlib开发的高级可视化库。

主要用于统计数据可视化。它提供比Matplotlib更好的颜色调色板、主题和图形元素,并支持各种图表,如热力图、配对图、小提琴图等。

1.2.3. Plotly(https://plotly.com/python/)

notion image

Plotly是用于生成交互式图形的库。

它专为在Web上生成交互式图绘制而优化。由于Plotly基于D3.js,因此在各种平台和语言中都受到支持。

1.2.4. Bokeh(https://bokeh.org/)

notion image

Bokeh是用于生成更精致可视化的Python库。

由于它可以生成动态数据可视化,因此在创建Web应用程序时非常有用。随着现在一切都趋向于动态和响应式,使用Bokeh可以编写更具吸引力和漂亮的报告。

1.2.5. Altair(https://altair-viz.github.io/)

notion image

Altair是基于Vega和Vega-Lite的Python专用声明性统计可视化工具。

Altair旨在摆脱图形工作的复杂性,侧重于数据的核心内容。Altair的一个主要特点是其API。它基于直观且一致的Vega-Lite语法,使用户能够快速上手。有了这样的结构,用户可以在不编写复杂代码的情况下简洁而美观地可视化数据。

以上五种是代表性的一些可视化库,除此之外还有许多其他库正在实时发布和发展。建议不要只使用一种可视化库,而是结合多种可视化库,以更直观地分析数据。

接下来,将介绍将用于主题的“词云”。

2. 词云是什么?

词云是根据文本数据中单词的频率或重要性以不同大小表示的可视化技术。单词出现频率越高,该单词在词云中显示得越大,因此可以说非常直观。通过使用词云,可以轻松地了解文本中哪些单词或主题很重要。

2.1. 与其他可视化库的区别

在前面提到的可视化库中,最大的区别在于它是基于文本的。

前面介绍的库都是基于结构化数据(如Excel等已有数据集的形式),而词云可以帮助用户分析和可视化用户在Web上留下的评论、文章等文本数据。

3. 实例操作

3.1. Hashscraper登录

notion image

notion image

注册Hashscraper并查看仪表板,您将看到各种爬虫。即使是非专业人士也可以轻松快速地收集数据。由于每个网站都有各种不同的机器人,因此建议搜索所需的网站并加以利用。

3.2. 查找Naver地图收集机器人

这次我们搜索Naver地图,然后点击Naver地图收集卡片。

notion image

点击Naver地图卡片后,将显示相应页面。

notion image

3.3. 设置收集

点击关键字编辑以编辑关键字部分和设置按钮。

notion image

弹出模态框后,在“关键字”中输入地区+主题关键字。

您还可以自行选择最大收集数量。

如果需要持续自动收集,则可以设置收集周期。保存后,点击“开始数据收集”按钮开始。

notion image

3.4. 检查收集结果

收集开始后,数据收集开始按钮下方将开始显示如下图所示。

notion image

单击“查看”按钮,将显示数据结果。

单击“Excel下载”即可下载相应数据。下图显示了下载的Excel文件。

notion image

3.5. 读取数据

使用read_excel读取这些数据。

import pandas as pd
my_hometown_shop = pd.read_excel('../blog/네이버 지도 수집.xlsx')
my_hometown_shop

整理数据后,仅保留用于制作词云所需的“类别”列,删除其他所有列。

my_hometown_shop_new= my_hometown_shop['카테고리']

将数据框化后,行将以整齐的方式排列。

3.6. 应用词云

使用清理后的数据应用词云。

from wordcloud import WordCloud
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm

sys_font = fm.findSystemFonts()
nanum_fonts = [f for f in sys_font if 'Nanum' in f]
path ='/Library/Fonts/NanumBarunpenRegular.ttf'

# 아까 언급했던 경로로 직접 설정합니다.
path = '/Library/Fonts/NanumBarunpenRegular.ttf'

wordcloud = WordCloud(width=800, height=800,
                      background_color='white',
                      max_words=200,
                      contour_width=3,
                      contour_color='steelblue',
                      font_path=path).generate(' '.join(my_hometown_shop['카테고리']))

plt.figure(figsize=(10, 10))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()

通过此词云,可以看到“노량진的美食”主要由生鱼片和韩国料理组成。

通过收集的地方美食数据制作词云,可以直观地了解各地行业分布。

请尝试以不同方式应用。

也一起阅读:

数据收集,现在自动化

无需编码,5分钟即可开始 · 5000多个网站爬取经验

免费开始 →

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

继续阅读

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.