数据集链接: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数据集的可视化相关推荐

  1. 来自Bitly的USA.gov数据,数据分析案例

    数据分析案例01 xiaoyao 1.USA.gov Data from Bitly–来自Bitly的USA.gov数据 数据背景:2011年,URL缩短服务Bitly跟美国政府⽹站USA.gov合作 ...

  2. 来自Bitly的USA.gov数据

    来自Bitly的USA.gov数据 0 读取文本文件(JSON格式) 读取文件中第一行 path = 'pydata-book/datasets/bitly_usagov/example.txt' o ...

  3. 使用Python实现对excel数据的处理

    前言 **使用Python实现对excel数据的处理, 预先知识简单介绍 xlrd中 # File_Path是Excel路径,打开Excel工作蒲 workbook = xlrd.open_workb ...

  4. python实现对doc、txt、xls等文档的读写操作

    目录 1.python实现对doc文档的读取 2.python实现对txt文档的读取 3.python实现对xls表格的读取 1.python实现对doc文档的读取 #读取docx中的文本代码示例 i ...

  5. python实现程序安装_使用python实现对windows软件包的安装和卸载

    在对windows安装包产品进行测试时,安装和卸载是难免的,并且人工的手动安装和卸载会花费大量的精力和时间,为此需要编写一个脚本来实现对windows安装包产品的自动卸载和安装. 首先参考了 http ...

  6. python实现对python123平台题库爬取

    最近在搞软件工程课程设计,做了一个在线考试系统,为了弄到题库数据,简单利用了python中的selenium库实现对python123平台自动登录并获取相应的选择试题. 实现自动登录并获取题目 只针对 ...

  7. Python实现对12500张猫狗图像的精准分类

    微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 源|51CTO官微 在这篇文章中,我们将展示如何建立一个深度神经 ...

  8. Python实现对nginx日志access.log统计

    Nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,可以参加ngx_http_log_mo ...

  9. 第14章 14.1 来自Bitly的USA.gov数据(1)

    1.数据是每小时更新一次,格式是JSON形式,下面是只读取文件中的第一行 2.可以使用Python内置或第三方模块将json字符串转换成Python字典对象 3.用纯Python代码对时区进行计数,采 ...

最新文章

  1. leetcode51 N皇后
  2. java教程pdf下载百度云,面试题+笔记+项目实战
  3. Apache2.4.1编译安装报错解决
  4. js 定时器用法详解——setTimeout()、setInterval()、clearTimeout()、clearInterval()
  5. 转载 关于git的常用命令总结
  6. 外文文献检索下载网站哪些比较好用
  7. bugku ctf 杂项 旋转跳跃 (熟悉的声音中貌似又隐藏着啥,key:syclovergeek)
  8. Windows 10 安装Jenkins 图文教程
  9. 织梦DedeCMS使用教程:留言簿模块
  10. 小程序云数据库更新数组第n项
  11. 每日一题 No.4 男女搭配干活不累
  12. Mac系统原生支持NTFS格式硬盘
  13. python 阿里云平台合成语音(TTS)
  14. android app 清理缓存图片,支付宝APP怎么清理缓存 支付宝安卓版缓存清理方法
  15. 安全漏洞中的倚天剑——XSS跨站脚本攻击
  16. brat报错:The server encountered a serious error, please contact the administrators at ____ and give th
  17. 使用nid命令修改 db name 及 dbid
  18. OSChina 周六乱弹 ——手机进化史?程序员用啥手机?
  19. STM32 计算机课程设计技术点记录
  20. 聚享乐城提醒您:吃水蜜桃 关注奥运会

热门文章

  1. super-resolution
  2. Axure RP 8.0原型设计(一):入门
  3. 电商系统,剖析商品模块中商品表(spu)、规格表(sku)的数据库是如何设计的
  4. 实现文字后面加一条横线的效果
  5. Photoshop 中的彩蛋
  6. ERP中的财务管理集成
  7. 分享一个强大无痛的英语学习网站
  8. arch linux yaourt arm,在ARM设备(树莓派、香蕉派)上为Arch Linux配置yaourt
  9. QGIS官网安装包下载与安装
  10. 鹏城实验室麒麟V10飞腾2000+体验