《利用Python进行数据分析》笔记---第2章--来自bit.ly的1.usa.gov数据
2017-08-01 10:11
232 查看
写在前面的话:
实例中的所有数据都是在GitHub上下载的,打包下载即可。地址是:http://github.com/pydata/pydata-book
还有一定要说明的:
我使用的是Python2.7,书中的代码有一些有错误,我使用自己的2.7版本调通。# coding: utf-8 import json path = 'D:\Source Code\pydata-book-master\ch02\usagov_bitly_data2012-03-16-1331923249.txt' records = [json.loads(line) for line in open(path)] records[0] print records[0]['tz'] time_zones = [rec['tz'] for rec in records if 'tz' in rec] time_zones[:10] from collections import defaultdict def get_count(sequence): counts = defaultdict(int) for x in sequence: counts[x] += 1; return counts def top_count(count_dict, n=10): value_key_pairs = [(count,tz) for tz, count in count_dict.items()] value_key_pairs.sort() return value_key_pairs[-n:] counts = get_count(time_zones) counts['America/New_York'] len(time_zones) top_count(counts) from pandas import DataFrame, Series import pandas as pd import numpy as np frame = DataFrame(records) frame tz_counts = frame['tz'].value_counts() tz_counts[:10] clean_tz = frame['tz'].fillna('Missing') clean_tz[clean_tz == ''] = 'Unknown' tz_counts = clean_tz.value_counts() tz_counts[:10] tz_counts[:10].plot(kind='barh',rot=0) results = Series([x.split()[0] for x in frame.a.dropna()]) results[:5] results.value_counts()[:8] cframe = frame[frame.a.notnull()] cframe operating_system = np.where(cframe['a'].str.contains('Windows'),'Windows','Not Windows') operating_system[:5] by_tz_os = cframe.groupby(['tz',operating_system]) agg_counts = by_tz_os.size().unstack().fillna(0) agg_counts[:10] indexer = agg_counts.sum(1).argsort() indexer[:10] count_subset = agg_counts.take(indexer)[-10:] count_subset count_subset.plot(kind='barh', stacked=True)
相关文章推荐
- 《利用python进行数据分析》读书笔记之案例一:来自bit.ly的1.usa.gov数据
- 来自bit.ly的1.usa.gov数据
- 利用Python进行数据分析-ch02-来自bit.ly的1.usa.gov数据
- bit.ly的1.usa.gov数据练习
- 《利用Python进行数据分析》笔记---第2章--MovieLens 1M数据集
- 第2章-1 利用Python进行数据分 学习笔记
- 黑马程序员之ADO.NET学习笔记:省市选择程序,数据全部来自于数据库。
- 《利用Python进行数据分析》笔记---第7章数据规整化:清理、转换、合并、重塑
- 高性能JavaScript 笔记之 第2章 数据访问
- SQL Server 2005数据挖掘与商业智能完全解决方案_笔记-第2章 构建简单的BI应用:福马特商业
- 浪潮优派培训Java笔记:第2章 数据类型
- 《利用Python进行数据分析》第9章 groupby技术和数据聚合笔记
- 《利用Python进行数据分析》笔记---第9章数据聚合与分组运算
- 《php和mysql web开发》笔记——第2章数据的存储与检索
- 《利用Python进行数据分析》笔记---第6章数据加载、存储与文件格式
- 《利用Python进行数据分析》笔记---第2章--1880-2010年间全美婴儿姓名
- Java笔记:第2章 数据类型
- Java基础知识强化之网络编程笔记04:UDP之发送端的数据来自于键盘录入案例
- 《利用Python进行数据分析》笔记---第11章金融和经济数据应用
- 数据集合与分组运算 《利用python进行数据分析》笔记,第9章