首先task4是一个项目做一个数据分析的题目是关于利用Pandas分析美国选民总统喜好。
在开始这个项目之前我们需要提前安装的此次的包和下载好需要的数据集。
数据集
数据集中包括信息有:
CAND_ID 候选人ID
CAND_NAME 候选人姓名
CAND_PTY_AFFILIATION 候选人党派
CAND_ID 候选人ID
CAND_ELECTION_YR 候选人选举年份
CMTE_ID 委员会ID
CMTE_ID 委员会ID
NAME 捐款人姓名
CITY 捐款人所在市
State 捐款人所在州
EMPLOYER 捐款人雇主/公司
OCCUPATION 捐款人职业等。
数据处理
进行数据处理前,我们需要知道我们最终想要的数据是什么样的,因为我们是想分析候选人与捐赠人之间的关系,所以我们想要一张数据表中有捐赠人与候选人一一对应的关系,所以需要将目前的三张数据表进行一一关联,汇总到需要的数据。
将委员会和候选人一一对应,通过CAND_ID关联两个表
由于候选人和委员会的联系表中无候选人姓名,只有候选人ID(CAND_ID),所以需要通过CAND_ID从候选人表中获取到候选人姓名,最终得到候选人与委员会联系表ccl。
将候选人和捐赠人一一对应,通过CMTE_ID关联两个表
通过CMTE_ID将目前处理好的候选人和委员会关系表与人捐款档案表进行关联,得到候选人与捐赠人一一对应联系表cil。
数据探索与清洗
进过数据处理部分,我们获得了可用的数据集,现在我们可以利用调用shape属性查看数据的规模,调用info函数查看数据信息,调用describe函数查看数据分布。
c_itcont.shape,查看数据规模 多少行 多少列
c_itcont.info(),查看整体数据信息,包括每个字段的名称、非空数量、字段的数据类型
通过上面的探索我们知道目前数据集的一些基本情况,目前数据总共有756205行,8列,总占用内存51.9+MB,STATE、EMPLOYER、OCCUPATION有缺失值,另外日期列目前为int64类型,需要进行转换为str类型。
c_itcont.head(3),查看数据前3行
c_itcont.describe(),查看数据表中数据类型的列的数据分布情况
c_itcont[‘CAND_NAME’].describe(),查看单列的数据发布情况
数据分析
计算前十位党派和总统候选人获得的捐款总额
不同职业的人捐款的总额,然后排序,取前十位
以及不同捐款人的数量
每个州捐款总额和捐款人的数量
数据可视化
导入相关Python库
按州总捐款数和总捐款人数柱状图
各州捐款总人数可视化
热门候选人拜登在各州的获得的捐赠占比
总捐最多的候选人捐赠者词云图
总结
整体看下来task4为我们介绍了怎么去分析做表,做图形等直观的让我们从数据面更直观的看出总统选举中谁更具竞争力,这可以看出python的智能和功能强大。这次学习更多的收获了怎么去使用python,怎么调用数据。以后会更多尝试使用python来分析各种数据,感谢阿里云有这么好的资源学习。