美国选民的数据分析--python
如若转载,请注明出处,谢谢。
数据来源:天池数据——用pandas揭秘美国选民的总统喜欢
前期的读取数据(pd.read_csv)、合并数据(pd.merge)及处理异常数据(data.fillna('NOT PROVIDED',inplace=True))将不在详细解释。
由于整个选举中涉及的数据量过大,目前分析的数据是从2020.7.22-2020.8.20的数据,此部分数据不代表整体数据的结果。
分析的内容和思路可供参考。
一、各个党派的捐赠分析
获得捐赠最多的党派有DEM(民主党)、REP(共和党),分别对应BIDEN, JOSEPH R JR(拜登)和TRUMP, DONALD J.(特朗普),从这一个月的数据来看,在选民的捐赠数据中拜登代表的民主党完胜特朗普代表的共和党,由于完整数据量过大,所以没有对所有数据进行汇总分析,因此也不能确定11月大选公布结果就一定是拜登当选。
二、各州的数据分析
查看每个州的捐款总金额,我们会发现CA(加利福利亚)、NY(纽约)、FL(弗罗里达)这几个州的捐款是最多的,在捐款人数上也是在Top端
三、各职位的数据分析
从捐款人的职业这个角度分析,我们会发现NOT EMPLOYED(自由职业)
的总捐赠额是最多,通过查看每个职业捐赠的人数来看,会发现是因为NOT EMPLOYED(自由职业)
捐赠人数多的原因,另外退休人员捐款人数也特别多,所以捐款总数对应的也多,其他比如像:律师、创始人、医生、顾问、教授、主管这些高薪人才虽然捐款总人数少,但是捐款总金额也占据了很大比例。
从平均捐款金额来看,捐款金额比较大的是公司的创始人、所有者等均属于公司高管类型的职业。
捐赠金额在5000以上的,同样以CA、TX、FL和NY几个州的最多,可见这几个州的经济较其他州的发展要好。
四、拜登VS特朗普
日获赠金额的趋势
每日的人均捐赠趋势
从拜登和特朗普日获捐赠金额来看,虽然拜登的金额远远高于特朗普,但是特朗普的人均捐赠要高于拜登。
各州对拜登和特朗普捐赠的分布
从这一个月的数据,可以看出拜登获取各州捐赠的金额要高于特朗普。
各职业对拜登和特朗普捐赠的分布
自由职业者的捐赠对象是拜登,退休人员的捐赠对象是特朗普。
捐赠对象为特朗普的选民词云图
按照各州捐款金额聚类的结果图
df=pd.crosstab(index=biden['STATE'],columns=biden['TRANSACTION_DT'],values=biden['TRANSACTION_AMT'],aggfunc='sum')
df.dropna(inplace=True)
k=5 #类簇的数量
cls=KMeans(k).fit(df) #开始调用函数聚类
print(df.index,cls.labels_)
print(pd.Series(cls.labels_).value_counts())
plt.figure(figsize=(10,8))
r = pd.concat([df, pd.Series(cls.labels_, index = df.index)], axis = 1)
r.columns = list(df.columns) + [u'聚类类别']
from sklearn.manifold import TSNE
ts = TSNE()
ts.fit_transform(r)
ts = pd.DataFrame(ts.embedding_, index = r.index)
a = ts[r[u'聚类类别'] == 0]
plt.plot(a[0], a[1], 'r.')
a = ts[r[u'聚类类别'] == 1]
plt.plot(a[0], a[1], 'go')
a = ts[r[u'聚类类别'] == 2]
plt.plot(a[0], a[1], 'b*')
a = ts[r[u'聚类类别'] == 3]
plt.plot(a[0], a[1], 'k+')
a = ts[r[u'聚类类别'] == 4]
plt.plot(a[0], a[1], 'm--')
plt.show()
五、结论
从这一个月的数据可以看出:
1、经济发展比较好的州,捐赠金额较多
2、捐赠的人员主要集中在自由职业者和退休人员
3、拜登的获赠金额远远高于特朗普,但是拜登的人均捐赠金额要远远低于特朗普,
4、支持拜登的选民以自由职业者为主,支持特朗普的以退休人员为主
因只有1个月的数据,并不能说明整体大选的特征分布,也不能说明11月份大选的结果就是拜登。
分析的内容和思路可供参考。