在日常工作中,数据处理类的任务主要包括以下几类: 与外界进行交互:读写各种数据文件及数据库。 准备工作:对数据进行清理、修整、整合、规范化、重塑、切片切块、变形等处理以便于进行分析。 转换:对数据集进行数学统计运算产生新的数据集。(比如根据分组变量对一个大表进行聚合) 建模和计算:将数据与统计模型、机器学习算法或其他计算工具联系起来。 展示:创建交互式或静态的图片或文字摘要。 利用pandas对http://1.数据时区进行计数: DataFrame是pandas中最重要的数据结构,用于将数据表示为一个表格: frame['tz']返回的Series对象有一个value_counts()方法,该方法统计Series中词条出现的频率,并按频率降序排列: 记录中缺失值可以用fillna函数替换,未知值可以用布尔型数组索引替换: 然后可以利用绘图库(matplotlib)的plot方法为这十条数据生成一张水平条形图。(注意ipython一定要以pylab模式打开,否则以下代码无效) 条形图如下,统计.http://数据中最常出现的时区: 还可以对这种类型的数据进行许多处理,以a字段为例,我们可以将a字段的第一节分离出来,得到一份用户行为摘要: 现在可以按照Windows和非Windows用户对时区统计信息进行分解: 接下来就可以按照时区和操作系统对数据进行分组,计数,重塑: 下面选取最常出现的时区: 然后我们使用stacked=True生成一张堆积条形图: 为了看清较小分组中Windows用户的比例,可以将各行规范化为“总计为1”,重新绘图: MovieLens 1M数据集 该数据集是一组电影评分数据,分为三个表:评分、用户信息和电影信息,可以通过pandas.read_table将每个表读到一个DataFrame对象中: 利用merge函数将所有数据合并到一个表中,并根据性别计算电影的平均得分: 过滤掉评分数据不足250条的电影,并了解女性观众最喜欢的电影(对F列降序): 找出男性和女性观众分歧最大的电影: 找出分歧最大的电影(不考虑性别),可以计算得分的方差或标准差: 1880-2010全美婴儿姓名 该数据集按年度分割成了多个文件,利用pandas.concat将所有数据组装到一个DataFrame里,并加上一个year字段: 将names数据在sex和year级别上进行聚合: 插入一个prop列,用于存放指定名字的婴儿数相对于总出生数的比例: 验证所有分组的prop总和是否为1: 为了便于进一步分析,取出该数据的一个子集:每对sex/year组合的前1000个名字: 接下来的数据分析工作就针对这个top1000数据集了。 几个男孩和女孩名字随时间变化的使用数量: 接下来还可以分析命名趋势,命名多样性的变化等,这里由于对pandas方法还不是很熟悉,就不一一试验了。 大多是《利用python进行数据分析》的笔记 |
|
来自: CCI16 > 《Technology》