阿里天池-用Pandas揭秘美国选民的总统喜好
赛事地址https://tianchi.aliyun.com/competition/entrance/531837/forum

import pandas as pd
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
import oscandidates = pd.read_csv("weball20.txt", sep = '|',names=['CAND_ID','CAND_NAME','CAND_ICI','PTY_CD','CAND_PTY_AFFILIATION','TTL_RECEIPTS','TRANS_FROM_AUTH','TTL_DISB','TRANS_TO_AUTH','COH_BOP','COH_COP','CAND_CONTRIB','CAND_LOANS','OTHER_LOANS','CAND_LOAN_REPAY','OTHER_LOAN_REPAY','DEBTS_OWED_BY','TTL_INDIV_CONTRIB','CAND_OFFICE_ST','CAND_OFFICE_DISTRICT','SPEC_ELECTION','PRIM_ELECTION','RUN_ELECTION','GEN_ELECTION','GEN_ELECTION_PRECENT','OTHER_POL_CMTE_CONTRIB','POL_PTY_CONTRIB','CVG_END_DT','INDIV_REFUNDS','CMTE_REFUNDS'])
ccl = pd.read_csv("ccl.txt", sep="|", names=['CAND_ID','CAND_ELECTION_YR','FEC_ELECTION_YR','CMTE_ID','CMTE_TP','CMTE_DSGN','LINKAGE_ID'])ccl = pd.merge(ccl,candidates)
ccl = pd.DataFrame(ccl,columns=['CMTE_ID','CAND_ID', 'CAND_NAME','CAND_PTY_AFFILIATION'])
ccl.head(20)itcont = pd.read_csv("itcont_2020_20200722_20200820.txt",sep = '|',names=['CMTE_ID','AMNDT_IND','RPT_TP','TRANSACTION_PGI','IMAGE_NUM','TRANSACTION_TP','ENTITY_TP','NAME','CITY','STATE','ZIP_CODE','EMPLOYER','OCCUPATION','TRANSACTION_DT','TRANSACTION_AMT','OTHER_ID','TRAN_ID','FILE_NUM','MEMO_CD','MEMO_TEXT','SUB_ID'])
c_itcont = pd.merge(ccl,itcont)
c_itcont = pd.DataFrame(c_itcont,columns=[ 'CAND_NAME','NAME', 'STATE','EMPLOYER','OCCUPATION','TRANSACTION_AMT', 'TRANSACTION_DT','CAND_PTY_AFFILIATION'])
##数据清洗,补充缺失的列,将时间,日期规范化
c_itcont['STATE'].fillna('NOT PROVIDED',inplace=True)
c_itcont['EMPLOYER'].fillna('NOT PROVIDED',inplace=True)
c_itcont['OCCUPATION'].fillna('NOT PROVIDED',inplace=True)c_itcont['TRANSACTION_DT']=c_itcont['TRANSACTION_DT'].astype(str)
c_itcont['TRANSACTION_DT'] = [i[3:7]+i[0]+i[1:3] for i in c_itcont['TRANSACTION_DT'] ]##数据分析,捐款总数最多的党派、候选人、职业、州
sum_AFFILIATION = c_itcont.groupby("CAND_PTY_AFFILIATION").sum().sort_values("TRANSACTION_AMT",ascending=False).head(10)sum_CANDIDATE = c_itcont.groupby("CAND_NAME").sum().sort_values("TRANSACTION_AMT",ascending=False).head(10)sum_OCCUPATION = c_itcont.groupby("OCCUPATION").sum().sort_values("TRANSACTION_AMT",ascending=False).head(10)c_itcont['OCCUPATION'].value_counts().head(10)sum_STATE = c_itcont.groupby("STATE").sum().sort_values("TRANSACTION_AMT",ascending=False).head(5)c_itcont['STATE'].value_counts().head(5)##数据可视化
st_amt = c_itcont.groupby('STATE').sum().sort_values("TRANSACTION_AMT",ascending=False)[:10]
st_amt = pd.DataFrame(st_amt,columns=["TRANSACTION_AMT"])
st_amt.plot(kind='bar')st_amt = c_itcont.groupby('STATE').size().sort_values(ascending=False).head(10)
st_amt.plot(kind='bar')biden = c_itcont[c_itcont['CAND_NAME']=='BIDEN, JOSEPH R JR']
biden_state = biden.groupby('STATE').sum().sort_values("TRANSACTION_AMT", ascending=False).head(10)
biden_state.plot.pie(figsize=(10, 10),autopct='%0.2f%%',subplots=True)
plt.show()os.rename('TB10Jx4pBBh1e4jSZFhXXcC9VXa-689-390.jpg','biden.jpg')
data = ' '.join(biden['NAME'].tolist())
bg = plt.imread('biden.jpg')
wc = WordCloud(background_color='white',width=890,height=900,mask=bg,margin=10,max_font_size=100,random_state=20,
).generate_from_text(data)
big_color = ImageColorGenerator(bg)
plt.imshow(wc.recolor(color_func=big_color))
plt.axis('off')
wc.to_file("biden_wordcloud.png")

python学习记录(3)——数据分析实战相关推荐

  1. Python学习记录day3

    2019独角兽企业重金招聘Python工程师标准>>> Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个 ...

  2. 【Python学习记录】Numpy广播机制(broadcast)

    ✨ 博客主页:小小马车夫的主页 ✨ 所属专栏:Python学习记录 文章目录 一.什么是Numpy广播机制 二.Numpy广播应用 三.Numpy广播规则 一.什么是Numpy广播机制 在Numpy. ...

  3. Python学习记录——英文名修改成标准格式

    Python学习记录--英文名修改成标准格式 功能需求 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.输入:['adam', 'LISA', 'barT'],输出:['Adam', ...

  4. python学习记录——容器篇

    容器 字符串 下标(索引) # 下表也称为是索引,是一个整型数字,可以是正数,也可以是负数 # 正数下标是从0开始的,表示第一个字符,-1表示最后一个字符 my_str = 'hello'h e l ...

  5. Python学习记录day6-反射、常用模块

    Python学习记录day6-反射.常用模块 @(学习)[python] Python学习记录day6-反射常用模块 反射 常用模块 1 sys System-specific parameters ...

  6. Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)

    一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...

  7. 蜗牛一步一步地往上爬的Python学习记录

    Python学习记录 前言 简介 基础知识 类型变量 高级特性 函数式编程 高阶函数 偏函数 装饰器decorator 匿名函数 前言 第一,绝对不断更: 第二,绝对认真写: 第三,绝对撰写的公正漂亮 ...

  8. Python学习记录:shapefile.Writer报错

    Python学习记录 shapefile.Writer报错 w=shapefile.Writer(r.shapeType)使用时报错 Exception: The target filepath 5 ...

  9. Python学习记录(一)PIL库对于图像操作方法的简单整理

    Python学习记录(一)PIL库对于图像操作方法的简单整理 首先对PIL库进行一个简单的介绍:Python图像库PIL(Python Image Library)是python的第三方图像处理库,由 ...

  10. 【Python数据分析】基础入门学习指南到数据分析实战

    Python是一种流行的通用编程语言,在科学领域被广泛使用.你很容易在Python代码中调用以前的C.Fortran或者R代码. Python是面向对象语言,比C和Fortran更 加高级.使用Pyt ...

最新文章

  1. 人工智能学习框架TensorFlow必须掌握和了解的数学基础
  2. 《AutoCAD 2016中文版室内装潢设计从入门到精通》——第2章 AutoCAD 2016入门2.1 操作界面...
  3. c++ vector方法
  4. 计算机网络通信技术课程的基本知识点内容,河北《计算机网络与通信(2339)》自学考试大纲...
  5. js中关于array的slice和sort方法(转自JavaEye)
  6. mysql5.6 python_Centos-6.5 + python3 + mysql5.6 环境搭建
  7. 3D深度估计,让视频特效更梦幻!
  8. C/C++中位运算操作符的使用
  9. 软技能-代码之外的生存指南-读书笔记(持续更新中)
  10. Datawhale编程学习之排序(3)
  11. Echarts官网Json获取方式
  12. 如何申请自己的免费企业邮箱
  13. 【爬虫工具】哔哩哔哩插件姬(bilibili-plugin)
  14. 首创STM32 USB主机驱动4G rndis设备
  15. 什么是芯片?芯片内部制造工艺了解吗?
  16. 计算机教学助手,教学助手
  17. EV2200 使用方法
  18. oracle数据库查看锁表
  19. mysql8最大连接数设置
  20. 抖音发布五一数据报告:重庆为最热门旅游城市

热门文章

  1. 遗传算法(GA)入门知识梳理(超详细)
  2. Vue 生命周期及开发常用生命周期
  3. 补码是如何把减法转化为加法的?
  4. 强化学习概述--甄景贤
  5. 使用O2OA二次开发搭建企业办公平台(十二)流程开发篇:报销审批流程需求和应用创建
  6. Vue学习之环境构建--------vue-cli构建vue项目
  7. 视频智能动作行为分析系统带你了解:动作捕捉与行为分析
  8. EPICOR ERP 库存交易类型
  9. L3-020 至多删三个字符 (30 分)(DP)
  10. 用命令导出导入数据库常见操作