美文网首页
数据分析案例--2012联邦选举委员会数据库

数据分析案例--2012联邦选举委员会数据库

作者: owolf | 来源:发表于2018-10-10 22:49 被阅读227次

本章节以及后续章节的源码,当然也可以从我的github下载,在源码中我自己加了一些中文注释。

      美国联邦选举委员会发布了有关政治竞选赞助方面的数据。其中包括赞助者的姓名、职业、雇主、地址以及出资额等信息。我们先用pandas.read_csv将其加载进来。

一、数据预处理

        该数据中没有党派信息,因此最好把它加进去。通过unique,你可以获取全部的候选人名单:

        指明党派信息的方法之一是使用字典:

        通过这个映射以及Series对象的map方法,可以根据候选人姓名得到一组党派信息:

该数据既包括赞助也包括退款(负的出资额):

        为了简化分析过程,限定该数据集只能有正的出资额:

        由于Barack Obama和Mitt Romney是最主要的两名候选人,所以还专门准备了一个子集,只包含针对他们两人的竞选活动的赞助信息:

二、根据职业和雇主统计赞助信息

        基于职业的赞助信息统计是另一种经常被研究的统计任务。例如,律师们更倾向于资助民主党,而企业主则更倾向于资助共和党。首先,根据职业计算出资总额:

        不难看出,许多职业都涉及相同的基本工作类型,或者同一样东西有多种变体。下面的代码片段可以清理一些这样的数据(将一个职业信息映射到另一个)。注意,这里巧妙地利用了dict.get,它允许没有映射关系的职业也能“通过”:

        对雇主信息也进行了同样的处理:

        可以通过pivot_table根据党派和职业对数据进行聚合,然后过滤掉总出资额不足200万美元的数据:

        把这些数据做成柱状图看起来会更加清楚('barh'表示水平柱状图)

对各党派总出资额最高的职业  

        对Obama和Romney总出资额最高的职业和企业。

三、对出资额分组

        利用cut函数根据出资额的大小将数据离散化到多个面元中:

        根据候选人姓名以及面元标签对奥巴马和罗姆尼数据进行分组,以得到一个柱状图:

        从这个数据中可以看出,在小额赞助方面,Obama获得的数量比Romney多得多。还可以对出资额求和并在面元内规格化,以便图形化显示两位候选人各种赞助额度的比例。

两位候选人收到的各种捐赠额度的总额比例

四、根据州统计赞助信息

        根据候选人和州对数据进行聚合是常规操作:

如果对各行除以总赞助额,就会得到各候选人在各州的总赞助额比例:

快速学习:

第一节 NumPy基础(一)

第二节 NumPy基础(二)

第三节 Pandas入门基础

第四节 数据加载、存储

第五节 数据清洗

第六节 数据合并、重塑

第七节 数据聚合与分组运算

第八节 数据可视化

第九节 pandas高级应用

第十节 时间序列

第十一节 Python建模库

数据分析案例--1880-2010年间全美婴儿姓名的处理

数据分析案例--MovieLens 1M数据集

数据分析案例--USA.gov数据

数据分析案例--2012联邦选举委员会数据库

数据分析案例--USDA食品数据库

相关文章

网友评论

      本文标题:数据分析案例--2012联邦选举委员会数据库

      本文链接:https://www.haomeiwen.com/subject/ngnmaftx.html