博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
政治献金案例
阅读量:4983 次
发布时间:2019-06-12

本文共 2109 字,大约阅读时间需要 7 分钟。

#US 大选的数据分析

import numpy as npimport pandas as pdfrom pandas import Series,DataFramemonths = {
'JAN' : 1, 'FEB' : 2, 'MAR' : 3, 'APR' : 4, 'MAY' : 5, 'JUN' : 6, 'JUL' : 7, 'AUG' : 8, 'SEP' : 9, 'OCT': 10, 'NOV': 11, 'DEC' : 12}of_interest = ['Obama, Barack', 'Romney, Mitt', 'Santorum, Rick', 'Paul, Ron', 'Gingrich, Newt']parties = { 'Bachmann, Michelle': 'Republican', 'Romney, Mitt': 'Republican', 'Obama, Barack': 'Democrat', "Roemer, Charles E. 'Buddy' III": 'Reform', 'Pawlenty, Timothy': 'Republican', 'Johnson, Gary Earl': 'Libertarian', 'Paul, Ron': 'Republican', 'Santorum, Rick': 'Republican', 'Cain, Herman': 'Republican', 'Gingrich, Newt': 'Republican', 'McCotter, Thaddeus G': 'Republican', 'Huntsman, Jon': 'Republican', 'Perry, Rick': 'Republican' }data = pd.read_csv('data/usa_election.txt') #读文件data.head() #看前5行data.shape #文件样式data.dtypes #数据类型1 # 使用map函数+字典,新建一列各个候选人所在党派partydata['party']=data['cand_nm'].map(parties) #parties {}data.head(3) #看前3行数据2 #使用np.unique()函数查看colums:party这一列中有哪些元素 有哪些党派参加竞选data['party'].unique()3 # 使用value_counts()函数,统计party列中各个元素出现次数 各党派出现的次数data['party'].value_counts()4 # 各个党派收到政治献金总数data.groupby('party')['contb_receipt_amt'].sum() #分组 聚合5 #查看具体每天各个党派收到的政治献金总数contb_receipt_amt 使用groupby([多个分组参数])data.groupby(['contb_receipt_dt','party'])['contb_receipt_amt'].sum() 6 # 20-JUN-11 转时间格式def transform_date(date): day,month,year = date.split('-') month = months[month] #dict['key'] return '20'+year + '-' + str(month) + '-' + daydata['contb_receipt_dt'] = data['contb_receipt_dt'].map(transform_date) #applydata.head() 7 #查看是否转化成功 data['contb_eceipt_dt'] 8 #查看老兵最支持谁? Series索引 现将老兵行数据取出来

data['contbr_occupation'] == 'DISABLED VETERAN' #返回布尔值

old_bing = data.loc[data['contbr_occupation'] == 'DISABLED VETERAN']
old_bing
r3 = old_bing.groupby('cand_nm',axis=0)['contb_receipt_amt'].sum() #竞选者分组
r3

9 #找出各个候选人的捐赠者中,捐赠金额最大的人的职业以及捐献额   通过query("查询条件来查找捐献人职业")?

data.query("contb_receipt_amt == %s"%(data['contb_receipt_amt'].max()))

 

转载于:https://www.cnblogs.com/zhangchen-sx/p/11125961.html

你可能感兴趣的文章
Spring与Hibernate实现增删改查两方法
查看>>
Genymotion 插件在 Eclipse 和 Android Studio 中点击后无法初始化 Initialize Engine: failed 解决方法...
查看>>
1R安装环境
查看>>
初学Python——Socket网络编程
查看>>
Linux 如何实现 VLAN - 每天5分钟玩转 OpenStack(12)
查看>>
Gym - 101252H
查看>>
2019年2月15日,复习
查看>>
线性布局Row和Column
查看>>
关键路径(代码讲解)- 数据结构和算法68
查看>>
if语句三种格式
查看>>
CentOS 7 单用户模式修改root密码
查看>>
Linux DHCP原理
查看>>
Thread.currentThread()和this的区别——《Java多线程编程核心技术》
查看>>
mysql 5.1 Data 文件夹路径
查看>>
delegate的参数也可泛型【简单源码示例】
查看>>
Mycat SqlServer 技术栈 实现 主从分离
查看>>
为何要学编程?如何学编程?用什么语言最好?有什么好书?
查看>>
剑指Offer的学习笔记(C#篇)-- 反转链表
查看>>
Android精品资源整理2018年3月21日 星期三
查看>>
查询当前库中包含某个字段并且包含自增的表
查看>>