在这里,我们起首按竽暌癸言(词典中的关键字“query”)来分组我们的数据,然后应用 python 的 groupby 函数,这是一个大年夜 SQL 中借来的奥妙函数,大年夜我们的数据列表中生成一组条目,每个条目都表示一些编程说话。然后,在第 14 行我们计算每一种说话的总页面浏览量,然后添加 ('Language', rank) 情势的元组到 popularity 列表中。在轮回之后,我们根据总浏览量对风行度数据进行排序,并将这些元组展开到两个零丁的列表中,然后在 result 变量中返回它们。
- 最初的数据集有很大年夜的误差。我检查了到底产生了什么,并意识到如不雅我在 blogsearchengine.org 膳绫侨芽“C”,我就会获得很多无关的链接,个中包含了 “C” 的字母。是以,我必须将 C 清除在分析之外。这种情况几乎不会在 “R” 和其他类似 C 的名称中出现:“C++”、“C”。
是以,如不雅我们将 C 大年夜推敲中移除并查看其他说话,我们可以看到如下图:
如今让我们来看看每日拜访量和谷歌的博客排名之间的接洽。大年夜逻辑上来说,不那么受迎接的博客应当排名靠后,但这并没那么简单,因为其他身分也会影响排名,例如,如不雅在人气较低的博客汕9依υ?┞仿更新一些,那么它很可能会起首出现。
结论
数据预备工作以下列方法进行:
- def get_languages_popularity(data):
- query_sorted_data = sorted(data, key=itemgetter('query'))
- result = {'languages': [], 'views': []}
- popularity = []
- for k, group in groupby(query_sorted_data, key=itemgetter('query')):
- group = list(group)
- daily_page_views = map(lambda r: int(r['daily_page_views']), group)
- total_page_views = sum(daily_page_views)
- popularity.append((group[0]['query'], total_page_views))
- sorted_popularity = sorted(popularity, key=itemgetter(1), reverse=True)
- languages, views = zip(*sorted_popularity)
- result['languages'] = languages
- result['views'] = views
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 多关于索引,分为以下几点来讲解(技巧文): 索引的概述(什么是索引,索引的优缺点) 索引的根本应用>>>详细阅读
本文标题:如何分析博客中最流行的编程语言
地址:http://www.17bianji.com/lsqh/38842.html
1/2 1