Python实战项目:基于jupyter notebook处理16年美国总统大选数据

该博客分享了一个Python实战项目,利用jupyter notebook处理2016年美国总统大选的民调数据。通过加载和处理csv数据,对日期进行格式转换,对希拉里和特朗普的民调数据进行求和,并用折线图和柱形图进行可视化展示。博主强调了数据格式敏感性、异常处理和动手实践的重要性。
摘要由CSDN通过智能技术生成

Python实战项目:基于jupyter notebook处理16年美国总统大选数据

设计需求说明

  1. 设计任务
    按照月份求两位候选人民调数据的和,用折线图反映两位候选人民调的走势,用柱形图比较两位候选人民调的数据。
  2. 结构程序设计方法
    加载外部的csv数据,加载的列:民调结束的时间(enddate),希拉里的民调(adjpoll_clinton),特朗普民调数据(adjpoll_trump)
    对日期数据进行处理: mm/dd/yyyy -> yyyy-mm需要使用datetime模块
    对数据处理:判断候选人数据的有效性; ------- 有空值 先做处理、数据格式做转换:由str类型转换为float浮点型并求和。
    数据分析
    可视化呈现:建表,绘制折线图、曲线图
  3. 操作系统:Windows、python3.5以上版本、jupyter notebook
    各种python模块:numpy、pandas、Matplotlib等

以下是数据清单,需要从本地这份数据清单中获取我们需要的这三列信息。
在这里插入图片描述

源码展示以及实验截图:

导包,这些包都需要用到:

import matplotlib.pyplot as plt  
import matplotlib as mpl
import numpy as np
import codecs
import csv
import datetime as dt
import pandas as pd
from pandas import DataFrame
#1、加载外部的csv数据:民调结束的时间、希拉里的民调数据、特朗普民调数据
#获取三列需要的数据
data = np.loadtxt('./presidential_polls.csv',dtype=np.str,usecols=(7,17,18),delimiter=',')
#print(data)

#获取除去标题的纯数据列
data_adjpoll = data.tolist()[1:]
 
#将日期数据进行处理   mm/dd/yyyy -> yyyy-mm 
date = [i[0] for i in data_adjpoll]    #list型
dates=[dt.datetime.strptime(date,'%m/%d/%Y') for date in date] #list型
date_new = [i.strftime('%Y-%m') for i in dates]#date_new是转换好格式以后的日期list

#先把两个候选人的数据提取出来(有空值,把空值置0)
#得到两组浮点类型数据,方便计算求和
adjpoll_clinton = [i[1] for i in data_adjpoll]
for i in range(len(adjpoll_clinton)):
    if adjpoll_clinton[i] =='':
        adjpoll_clinton[i]='0'
adjpoll_clinton_arr = np.array(adjpoll_clinton,dtype
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值