初探:使用Python进行数据分析,内容优质

在日常工作中,数据处理类的任务主要包括以下几类:

与外界进行交互:读写各种数据文件及数据库。

准备工作:对数据进行清理、修整、整合、规范化、重塑、切片切块、变形等处理以便于进行分析。

转换:对数据集进行数学统计运算产生新的数据集。(比如根据分组变量对一个大表进行聚合)

建模和计算:将数据与统计模型、机器学习算法或其他计算工具联系起来。

展示:创建交互式或静态的图片或文字摘要。

利用pandas对http://1.usa.gov数据时区进行计数:

DataFrame是pandas中最重要的数据结构,用于将数据表示为一个表格:

初探:使用Python进行数据分析,内容优质

frame['tz']返回的Series对象有一个value_counts()方法,该方法统计Series中词条出现的频率,并按频率降序排列:

初探:使用Python进行数据分析,内容优质

记录中缺失值可以用fillna函数替换,未知值可以用布尔型数组索引替换:

初探:使用Python进行数据分析,内容优质

然后可以利用绘图库(matplotlib)的plot方法为这十条数据生成一张水平条形图。(注意ipython一定要以pylab模式打开,否则以下代码无效)

初探:使用Python进行数据分析,内容优质

条形图如下,统计.http://usa.gov数据中最常出现的时区:

初探:使用Python进行数据分析,内容优质

还可以对这种类型的数据进行许多处理,以a字段为例,我们可以将a字段的第一节分离出来,得到一份用户行为摘要:

初探:使用Python进行数据分析,内容优质

现在可以按照Windows和非Windows用户对时区统计信息进行分解:

初探:使用Python进行数据分析,内容优质

接下来就可以按照时区和操作系统对数据进行分组,计数,重塑:

初探:使用Python进行数据分析,内容优质

下面选取最常出现的时区:

初探:使用Python进行数据分析,内容优质

然后我们使用stacked=True生成一张堆积条形图:

初探:使用Python进行数据分析,内容优质

为了看清较小分组中Windows用户的比例,可以将各行规范化为“总计为1”,重新绘图:

初探:使用Python进行数据分析,内容优质

MovieLens 1M数据集

该数据集是一组电影评分数据,分为三个表:评分、用户信息和电影信息,可以通过pandas.read_table将每个表读到一个DataFrame对象中:

初探:使用Python进行数据分析,内容优质

利用merge函数将所有数据合并到一个表中,并根据性别计算电影的平均得分:

初探:使用Python进行数据分析,内容优质

过滤掉评分数据不足250条的电影,并了解女性观众最喜欢的电影(对F列降序):

初探:使用Python进行数据分析,内容优质

找出男性和女性观众分歧最大的电影:

初探:使用Python进行数据分析,内容优质

找出分歧最大的电影(不考虑性别),可以计算得分的方差或标准差:

初探:使用Python进行数据分析,内容优质

1880-2010全美婴儿姓名

该数据集按年度分割成了多个文件,利用pandas.concat将所有数据组装到一个DataFrame里,并加上一个year字段:

初探:使用Python进行数据分析,内容优质

将names数据在sex和year级别上进行聚合:

初探:使用Python进行数据分析,内容优质

初探:使用Python进行数据分析,内容优质

插入一个prop列,用于存放指定名字的婴儿数相对于总出生数的比例:

初探:使用Python进行数据分析,内容优质

验证所有分组的prop总和是否为1:

初探:使用Python进行数据分析,内容优质

为了便于进一步分析,取出该数据的一个子集:每对sex/year组合的前1000个名字:

初探:使用Python进行数据分析,内容优质

接下来的数据分析工作就针对这个top1000数据集了。

几个男孩和女孩名字随时间变化的使用数量:

初探:使用Python进行数据分析,内容优质

初探:使用Python进行数据分析,内容优质

接下来还可以分析命名趋势,命名多样性的变化等,这里由于对pandas方法还不是很熟悉,就不一一试验了。

大多是《利用python进行数据分析》的笔记


分享到:


相關文章: