美文网首页《利用Python进行数据分析》 第二版
《利用Python进行数据分析》 14.5 2012年联邦选举委

《利用Python进行数据分析》 14.5 2012年联邦选举委

作者: CCC考研 | 来源:发表于2019-01-01 14:53 被阅读88次

    第十四章 数据分析示例

    :本章示例数据集可在附带的GitHub仓库(http://github.com/wesm/pydata-book)中找到


    14.5 2012年联邦选举委员会数据库

           美国联邦选举委员会公布了有关政治运动贡献的数据。这些数据包括捐赠者姓名、职业和雇主、地址和缴费金额。一个有趣的数据来自2012年美国总统大选。我在2012年6月下载的一个数据集版本是一个150兆字节的CSV文件P00000001-ALL.csv(请参阅本书的数据存储库)

    1.使用pandas.read_csv载入数据(见图14-1)

    图14-1:载入数据

    2.观察样本记录(见图14-2)

    图14-2:样本记录

    3.使用unique获得所有不同的政治候选人名单(见图14-3)

    图14-3:候选人名单

    4.使用相应的字典表示政党背景(见图14-4)

    图14-4:表示政党背景

    5.在Series对象上使用map方法和上述的映射关系,从候选人姓名中计算出政党的数组(见图14-5)

    图14-5:计算政党数组

    6.数据准备要点(见图14-6)

    图14-6:数据分析要点

    14.5.1 按职业和雇主的捐献统计

           根据职业分析捐献是一个常见的统计分析。例如,律师(法律代理人)倾向于捐更多的钱给民主党,而商务人士则倾向于捐更多的钱给共和党。你没有任何理由相信我,你可以自己看数据。

    1.首先,获得按职业的捐献总数(见图14-7)

    图14-7:按职业捐献总数

    2.通过将一种工作匹配到另一种来清理工作种类(见图14-8)

    图14-8:清理工作种类

    :使用dict.get存在一种"陷阱",允许没有映射的职业"通过"

    3.使用pivot_table按党派和职业聚合数据,然后过滤出至少捐赠200万美元的子集(见图14-9)

    图14-9:聚合、过滤

    4.以条形图的方式进行数据可视化更为简单('barh’表示水平条形图,参见图14-10)

    图14-10:按党派划分各职业捐赠总量

    5.按候选人名称进行分组,并使用本章前面的top方法的变体(见图14-11)

    图14-11:分组函数

    6.按职业和雇主进行聚合(见图14-12)

    图14-12:聚合

    14.5.2 捐赠金额分桶

    1.使用cut函数将贡献者的数量按贡献大小离散化分桶(见图14-13)

    图14-13:分桶

    2.将Obama和Romney的数据按名称和分类标签进行分组(见图14-14)

    图14-14:分组

    3.对捐款数额进行求和并在桶内进行归一化,以便对按候选人划分的捐款总额百分比进行可视化(见图14-15)

    图14-15:不同捐赠规模的候选人收到的捐赠总额的百分比

    :排除了两个最大的箱体,因为这些箱体不是由个人捐赠的。

           这种分析可以通过多种方式进行改进和提高。例如,你可以通过捐助者姓名和邮政编码聚合捐款,以便为那些进行很多次小额捐赠的人进行调整,他们并不会进行大型捐赠。


    14.5.3 按州进行捐赠统计

    1.将数据按照候选人和州进行聚合(见图14-16)

    图14-16:  将数据按照候选人和州进行聚合

    2.将每一行除以捐款总额,得到每个候选人按州的捐赠总额的相对百分比(见图14-17)

    图14-17:每个候选人按州的捐赠总额的相对百分比

    相关文章

      网友评论

        本文标题:《利用Python进行数据分析》 14.5 2012年联邦选举委

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