您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python制作动态词频条形图的全过程

51自学网 2022-02-21 10:48:50
  python
这篇教程Python制作动态词频条形图的全过程写得很实用,希望能帮到您。

前言

”数据可视化“这个话题,相信大家并不陌生,在一些平台,经常可以看到一些动态条形图的视频,大多都是某国家 GDP 的变化或者不同国家疫情中感染人数的变化等等。

这篇文章,我们将使用 Python 绘制动态词频条形图,顾名思义,就是以词频作为数量指标的动态条形图。

前期准备

输入以下命令,安装必须的库:

pip install JiashuResearchToolspip install jiebapip install pandaspip install bar_chart_race

数据的选择与获取

我们这次使用的数据是简书文章收益排行榜,日期范围为 2020 年 6 月 20 日至 2021 年 9 月 18 日。

从网页中解析数据的过程较为复杂,我们使用简书数据科学库 JianshuResearchTools 完成。

为方便调试,我们使用 Jupyter Notebook 进行交互式开发。

导入 JianshuResearchTools,并为其设置别名:

import JianshuResearchTools as jrt

调用接口,获取 2021 年 9 月 17 日的数据:

jrt.rank.GetArticleFPRankData("20210917")

返回的数据如下:

[{'ranking': 0,  'aslug': 'a03adf9d5dd5',  'title': '幸得君心似我心',  'author_name': '雁阵惊寒',  'author_avatar_url': 'https://upload.jianshu.io/users/upload_avatars/26225608/682b892e-6661-4f98-9aab-20b4038a433b.jpg',  'fp_to_author': 3123.148,  'fp_to_voter': 3123.148,  'total_fp': 6246.297}, {'ranking': 1,  'aslug': '56f7fe236842',  'title': '伤痕',  'author_name': '李文丁',  'author_avatar_url': 'https://upload.jianshu.io/users/upload_avatars/26726969/058e18c4-908f-4710-8df7-1d34d05d61e3.jpg',  'fp_to_author': 1562.198,  'fp_to_voter': 1562.198,  'total_fp': 3124.397}, (以下省略)

可以看出,返回的数据中包含文章的排名、标题、作者名、作者头像链接和关于简书资产的一些信息。

我们只需要文章的标题进行统计,所以我们将上面获取到的数据赋值给变量 raw_data,然后:

[item["title"] for item in raw_data]

使用列表推导式,我们得到了文章标题组成的列表。

为方便处理,我们将这些数据连接起来,中间用空格分隔:

" ".join([item["title"] for item in raw_data])

但是我们遇到了报错:

TypeError: sequence item 56: expected str instance, NoneType found

从报错信息中可以看出,我们获取到的文章标题列表中有空值,导致字符串的连接失败了。

(空值是因为作者删除了文章)

所以我们还需要加入去除空值的逻辑,代码编程这样:

" ".join(filter(None, [item["title"] for item in raw_data]))

filter 函数在第一个参数为 None 时,默认过滤掉列表中的空值。

现在我们获取到的数据如下:

'幸得君心似我心 伤痕 短篇|阿生 “我最喜爱的友友”大评选|理事会
Python代码实现列表分组计数
Python 通过xpath属性爬取豆瓣热映的电影信息

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。