In [33]:
from pandas import DataFrame, read_csv

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

pd.set_option('display.line_width', 5000) 
pd.set_option('display.max_columns', 60) 

pd.options.display.mpl_style = 'default'
%matplotlib inline

In [41]:
# Read in the data
Location = "data/contributions_6-16-14.csv"
df = read_csv(Location)

# Remove all non-mayor race contributions
mayor_ids = ['1357609', '1354678', '1362261', '1359017']
df = df[df['Filer_ID'].isin(mayor_ids)]

# Convert dollars contributed to a float
def toFloat(x):
    x = x.replace(',', '')
    x = x.replace('$', '')
    x = x.replace('(', '')
    x = x.replace(')', '')
    return float(x)

df['Tran_Amt1'] = df['Tran_Amt1'].map(toFloat)

In [91]:
# Sum by recipient and contributor
df['Tran_Date'] = pd.to_datetime(df['Tran_Date'])
df = df.sort('Tran_Date')
totals = df.groupby(['Filer_NamL', 'Tran_Date']).sum()

In [92]:
# Pull out data for an individual candidate
Tuman = totals['Joe Tuman for Mayor 2014':'Joe Tuman for Mayor 2014'].reset_index([0])
Tuman['Tran_Amt1'].cumsum().plot()

Quan = totals['Re-Elect Mayor Quan 2014':'Re-Elect Mayor Quan 2014'].reset_index([0])
Quan['Tran_Amt1'].cumsum().plot()

Schaff = totals['Libby Schaaf for Oakland Mayor 2014':'Libby Schaaf for Oakland Mayor 2014'].reset_index([0])
Schaff['Tran_Amt1'].cumsum().plot()

Parker = totals['Parker for Oakland Mayor 2014':'Parker for Oakland Mayor 2014'].reset_index([0])
Parker['Tran_Amt1'].cumsum().plot()


Out[92]:
<matplotlib.axes.AxesSubplot at 0x10ae90650>

In [ ]: