Python实现对Bitly的USA.gov数据集的可视化
数据集链接:example.txt
import json
import pandas
import seaborn
import numpydef main():# 读取json文件 来自Bitly的USA.gov数据path = "./example.txt"records = [json.loads(line) for line in open(path)]# 将数据实例化为DataFrameframe = pandas.DataFrame(records)# 统计时区信息并通过seaborn实现可视化statistic_tz(frame)# 统计浏览器信息并通过seaborn实现可视化statistic_a(frame)def statistic_tz(frame):clean_tz = frame["tz"].fillna("[Missing]") # 替换缺失值clean_tz[clean_tz == ""] = "[Unknown]" # 替换未知值tz_counts = clean_tz.value_counts()subset = tz_counts[:10]seaborn.set(rc={'figure.figsize': (16, 10)})seaborn.barplot(y=subset.index, x=subset.values) # 绘图def statistic_a(frame):cframe = frame[frame.a.notnull()].copy() # 过滤掉浏览器字段为空的信息cframe["os"] = numpy.where(cframe["a"].str.contains('Windows'), 'Windows', 'Not Windows') # 对操作系统进行标注by_tz_os = cframe.groupby(['tz', 'os']) # 根据时区和操作系统进行分类agg_counts = by_tz_os.size().unstack().fillna(0) # 将最内层索引置为列索引 并填充NaNindexer = agg_counts.sum(1).argsort() # 统计各个时区的出现次数count_subset = agg_counts.take(indexer[-10:]) # 选取最常出现的时区count_subset = count_subset.stack()count_subset.name = 'total'count_subset = count_subset.reset_index() # 还原为整型索引results = count_subset.groupby('tz').apply(norm_total) # 将数据转化为百分比seaborn.set(rc={'figure.figsize': (16, 10)})seaborn.barplot(x='normed_total', y='tz', hue='os', data=results) # 绘图def norm_total(group):group['normed_total'] = group.total / group.total.sum()return groupif __name__ == "__main__":main()
Python实现对Bitly的USA.gov数据集的可视化相关推荐
- 来自Bitly的USA.gov数据,数据分析案例
数据分析案例01 xiaoyao 1.USA.gov Data from Bitly–来自Bitly的USA.gov数据 数据背景:2011年,URL缩短服务Bitly跟美国政府⽹站USA.gov合作 ...
- 来自Bitly的USA.gov数据
来自Bitly的USA.gov数据 0 读取文本文件(JSON格式) 读取文件中第一行 path = 'pydata-book/datasets/bitly_usagov/example.txt' o ...
- 使用Python实现对excel数据的处理
前言 **使用Python实现对excel数据的处理, 预先知识简单介绍 xlrd中 # File_Path是Excel路径,打开Excel工作蒲 workbook = xlrd.open_workb ...
- python实现对doc、txt、xls等文档的读写操作
目录 1.python实现对doc文档的读取 2.python实现对txt文档的读取 3.python实现对xls表格的读取 1.python实现对doc文档的读取 #读取docx中的文本代码示例 i ...
- python实现程序安装_使用python实现对windows软件包的安装和卸载
在对windows安装包产品进行测试时,安装和卸载是难免的,并且人工的手动安装和卸载会花费大量的精力和时间,为此需要编写一个脚本来实现对windows安装包产品的自动卸载和安装. 首先参考了 http ...
- python实现对python123平台题库爬取
最近在搞软件工程课程设计,做了一个在线考试系统,为了弄到题库数据,简单利用了python中的selenium库实现对python123平台自动登录并获取相应的选择试题. 实现自动登录并获取题目 只针对 ...
- Python实现对12500张猫狗图像的精准分类
微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 源|51CTO官微 在这篇文章中,我们将展示如何建立一个深度神经 ...
- Python实现对nginx日志access.log统计
Nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,可以参加ngx_http_log_mo ...
- 第14章 14.1 来自Bitly的USA.gov数据(1)
1.数据是每小时更新一次,格式是JSON形式,下面是只读取文件中的第一行 2.可以使用Python内置或第三方模块将json字符串转换成Python字典对象 3.用纯Python代码对时区进行计数,采 ...
最新文章
- leetcode51 N皇后
- java教程pdf下载百度云,面试题+笔记+项目实战
- Apache2.4.1编译安装报错解决
- js 定时器用法详解——setTimeout()、setInterval()、clearTimeout()、clearInterval()
- 转载 关于git的常用命令总结
- 外文文献检索下载网站哪些比较好用
- bugku ctf 杂项 旋转跳跃 (熟悉的声音中貌似又隐藏着啥,key:syclovergeek)
- Windows 10 安装Jenkins 图文教程
- 织梦DedeCMS使用教程:留言簿模块
- 小程序云数据库更新数组第n项
- 每日一题 No.4 男女搭配干活不累
- Mac系统原生支持NTFS格式硬盘
- python 阿里云平台合成语音(TTS)
- android app 清理缓存图片,支付宝APP怎么清理缓存 支付宝安卓版缓存清理方法
- 安全漏洞中的倚天剑——XSS跨站脚本攻击
- brat报错:The server encountered a serious error, please contact the administrators at ____ and give th
- 使用nid命令修改 db name 及 dbid
- OSChina 周六乱弹 ——手机进化史?程序员用啥手机?
- STM32 计算机课程设计技术点记录
- 聚享乐城提醒您:吃水蜜桃 关注奥运会