First Python Notebook: Scripting your way to the story

By Ben Welsh

A step-by-step guide to analyzing data with Python and the Jupyter Notebook.

This tutorial will teach you how to use computer programming tools to analyze data by exploring contributors to campaigns for and again Proposition 64, a ballot measure asking California voters to decide if recreational marijuana should be legalized.

This guide was developed by Ben Welsh for a Oct. 2, 2016, "watchdog workshop" organized by Investigative Reporters and Editors at San Diego State University's school of journalism. The class is designed for beginners who have zero Python experience.

Prelude: Prequisites

Before you can begin, your computer needs the following tools installed and working to participate.

  1. A command-line interface to interact with your computer
  2. Version 2.7 of the Python programming language
  3. The pip package manager and virtualenv environment manager for Python

Command-line interface

Unless something is wrong with your computer, there should be a way to open a window that lets you type in commands. Different operating systems give this tool slightly different names, but they all have some form of it, and there are alternative programs you can install as well.

On Windows you can find the command-line interface by opening the "command prompt." Here are instructions for Windows 10 and for Windows 8 and earlier versions. On Apple computers, you open the "Terminal" application. Ubuntu Linux comes with a program of the same name.

Python

If you are using Mac OSX or a common flavor of Linux, Python version 2.7 is probably already installed and you can test to see what version, if any, is already available by typing the following into your terminal.

python -V

Even if you find it already on your machine, Mac users should install it separately by following these instructions offered by The Hitchhikers Guide to Python.

Windows people can find a similar guide here which will have them try downloading and installing Python from here.

pip and virtualenv

The pip package manager makes it easy to install open-source libraries that expand what you're able to do with Python. Later, we will use it to install everything needed to create a working web application.

If you don't have it already, you can get pip by following these instructions. In Windows, it's necessary to make sure that the Python Scripts directory is available on your system's PATH so it can be called from anywhere on the command line. This screencast can help.

Verify pip is installed with the following.

pip -V

The virtualenv environment manager makes it possible to create an isolated corner of your computer where all the different tools you use to build an application are sealed off.

It might not be obvious why you need this, but it quickly becomes important when you need to juggle different tools for different projects on one computer. By developing your applications inside separate virtualenv environments, you can use different versions of the same third-party Python libraries without a conflict. You can also more easily recreate your project on another machine, handy when you want to copy your code to a server that publishes pages on the Internet.

You can check if virtualenv is installed with the following.

virtualenv --version

If you don't have it, install it with pip.

pip install virtualenv
# If you're on a Mac or Linux and get an error saying you lack permissions, try again as a superuser.
sudo pip install virtualenv

If that doesn't work, try following this advice.

Act 1: Hello Jupyter Notebook

Start by creating a new development environment with virtualenv in your terminal. Name it after our application.

virtualenv first-python-notebook

Jump into the directory it created.

cd first-python-notebook

Turn on the new virtualenv, which will instruct your terminal to only use those libraries installed inside its sealed space. You only need to create the virtualenv once, but you'll need to repeat these "activation" steps each time you return to working on this project.

# In Linux or Mac OSX try this...
. bin/activate
# In Windows it might take something more like...
cd Scripts
activate
cd ..

Use pip on the command line to install Jupyter Notebook, an open-source tool for writing and sharing Python scripts.

pip install jupyter

Start up the notebook from your terminal.

jupyter notebook

That will open up a new tab in your default web browser that looks something like this:

Click the "New" button in the upper right and create a new Python 2 notebook. Now you're all setup and ready to start writing code.

Act 2: Hello Python

You are now ready to roll within the Jupyter Notebook's framework for writing Python. Don't stress. There's nothing too fancy about it. You can start by just doing a little simple math. Type the following into the first box, then hit the play button in the toolbox (or hit SHIFT+ENTER on your keyboard).


In [2]:
2+2


Out[2]:
4

There. You've just written your first Python code. You've entered two integers (the 2's) and added them together using the plus sign operator. Not so bad, right?

Next, let's introduce one of the basics of computer programming, a variable.

Variables are like containers that hold different types of data so you can go back and refer to them later. They’re fundamental to programming in any language, and you’ll use them all the time when you're writing Python.

Move down to the next box. Now let's put that number two into our first variable.


In [3]:
san = 2

In this case, we’ve created a variable called san and assigned it the integer value 2.

In Python, variable assignment is done with the = sign. On the left is the name of the variable you want to create (it can be anything) and on the right is the value that you want to assign to that variable.

If we use the print command on the variable, Python will output its contents to the terminal because that value is stored in the variable. Let's try it.


In [4]:
print san


2

We can do the same thing again with a different variable name


In [5]:
diego = 2

Then add those two together the same way we added the numbers at the top.


In [6]:
san + diego


Out[6]:
4

Variables can contain many different kinds of data types. There are integers, strings, floating point numbers (decimals), lists and dictionaries.


In [7]:
string = "Hello"

In [8]:
decimal = 1.2

In [9]:
list_of_strings = ["a", "b", "c", "d"]
list_of_integers = [1, 2, 3, 4]
list_of_whatever = ["a", 2, "c", 4]

In [10]:
my_phonebook = {'Mom': '713-555-5555', 'Chinese Takeout': '573-555-5555'}

Playing with data we invent can be fun, but it's a long way from investigative journalism.

Now's the time for us to get our hands on some real data and get some real work done.

Your assignment: Proposition 64.

The use and sale of marijuana for recreational purposes is illegal in California. Proposition 64, scheduled to appear on the November 2016 ballot, asked voters if it ought to be legalized. A "yes" vote would support legalization. A "no" vote would oppose it. A similar measure, Proposition 19, was defeated in 2010.

According to California's Secretary of State, more than $16 million was been raised to campaign in support of Prop. 64 as of September 20. Just over 2 million was been raised to oppose it.

Your mission, should you choose to accept it, is to download a list of campaign contributors and figure out the biggest donors both for and against the measure.

Click here to download the file as a list of comma-separated values. This is known as a CSV file. It is the most common way you will find data published online. Save the file with the name first-python-notebook.csv in the same directory where you made this notebook.

Python can read files using the built-in open function. You feed two things into it: 1) The path to the file; 2) What type of operation you'd like it to execute on the file. "r" stands for read.


In [11]:
data_file = open("./first-python-notebook.csv", "r")

Print that variable and you see that open has created a file "object" that offers a number of different ways to interact with the contents of the file.


In [12]:
print data_file


<open file './first-python-notebook.csv', mode 'r' at 0x7fd6ce25b4b0>

One thing a file object can do is read in all of the data from the file. Let's do that next and store the contents in a new variable.


In [13]:
data = data_file.read()

In [14]:
print data


FILING_ID,COMMITTEE_ID,COMMITTEE_NAME,COMMITTEE_POSITION,AMEND_ID,FIRST_NAME,LAST_NAME,CITY,STATE,ZIPCODE,EMPLOYER,OCCUPATION,DATE,AMOUNT
1680042,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,Drug Policy Action Committee to Tax and Regulate Marijuana,Sacramento,CA,95815,,,1/3/2012 12:00:00 AM,10975.5
1937009,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Luke,Sinquefield,Pacific Palisades,CA,90272,Luke Sinquefield,Realtor,7/25/2014 12:00:00 AM,15000
2038717,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,1,Susan,Podolsky,Modesto,CA,95350,Ontario Base Hospital Group,Physician,3/21/2016 12:00:00 AM,100
2038717,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,1,Philip,Davis,Salinas,CA,93901,Monterey County Office of Education,Education,3/21/2016 12:00:00 AM,250
2038717,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,1,Kevin,Herbert,San Francisco,CA,94110,Platina Systems Corporation,Principal Software Engineer,3/31/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jessica,McElfresh,Rancho Santa Fe,CA,92019,Jessica McElfresh,Attorney,6/7/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Patrick,McManamon,Westlake,OH,44145,"Cannasure Insurance Services, LLC",Chief Executive Officer,6/17/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Maureen,McNamara,Denver,CO,80211,Cannabis Trainers,Training,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Evan,Metz,Miami,FL,33179,ECA Solutions,Business Development,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Bruce,Milligan,Bellevue,WA,98005,Mobius Beverage Corporation,Founder,6/17/2016 12:00:00 AM,25
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Bruce,Milligan,Bellevue,WA,98005,Mobius Beverage Corporation,Founder,6/19/2016 12:00:00 AM,75
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,"MJ Freeway, LLC",Denver,CO,80202,,,6/13/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Bob,Morgan,Chicago,IL,60015,"Much Shelist, P.C.",Attorney,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,Mountain High Suckers,Denver,CO,80223,,,6/24/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ellen,Moy,Torrance,CA,90504,Ellen Moy,Attorney,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Thomas,Mundell,Bridgeton,MO,63044,n/a,Retired,6/14/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Muret,Seattle,WA,98104,Viridian Staffing,Co-Founder,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Genifer,Murray,Scottsdale,AZ,85260,Carbon Blue Consulting,Owner,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ethan,Nadelmann,New York,NY,10023,Drug Policy Alliance,Executive Director,5/5/2016 12:00:00 AM,110
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ethan,Nadelmann,New York,NY,10023,Drug Policy Alliance,Executive Director,6/7/2016 12:00:00 AM,75
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Elizabeth,Nichols,Edmond,OK,73034,Rosebud,Attorney,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ken,Novak,Palo Alto,CA,94303,Ken Novak,Consultant,6/7/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Katie,O'Block,Boulder,CO,80301,"Surna, Inc.",Marketing,6/17/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Adam,Orens,Denver,CO,80202,Marijuana Policy Group,Consultant,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Milan,Patel,Scottsdale,AZ,85260,Pathogen DX,Chief Executive Officer,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Emily,Paxhia,San Francisco,CA,94117,Poseidon Asset Management,Investments,6/17/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Nancy,Pemberton,Sebastopol,CA,95473,Nancy Pemberton,Analyst,6/29/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jon,Perri,San Francisco,CA,94115,Change.org,Campaigns Director,6/9/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jessica,Peters,Oakland,CA,94601,Moxie Meds,President,6/16/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,William,Pletcher,Downers Grove,IL,60516,"MCAH, LTD.",President,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Amy,Poinsett,Denver,CO,80202,MJ Freeway,Marketing Manager,6/13/2016 12:00:00 AM,250
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Joshua,Pollack,Oakland,CA,94609,Rolling Oaks,Chief Executive Officer,6/27/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Cate,Powers,San Francisco,CA,94111,Recurrent Energy,Director of Communications,6/20/2016 12:00:00 AM,250
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Richard,Probst,Los Altos,CA,94024,"SAP Labs, LLP",Executive,6/8/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Monica,Quattrin,San Francisco,CA,94123,n/a,Not Employed,5/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,John,Rasmussen,Tampa,FL,33602,John Rasmussen,Physician,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Michael,Ray,San Francisco,CA,94107,Bloom Farms,Director,6/24/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Patrick,Rea,Boulder,CO,80304,Canopy,Chief Executive Officer,6/10/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Patrick,Rea,Boulder,CO,80304,Canopy,Chief Executive Officer,6/17/2016 12:00:00 AM,1000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Reagan,Oakland,CA,94607,David Reagan,Attorney,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Thomas J.,Reiman,Highland Park,IL,60035,n/a,Retired,6/14/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Craig,Reinarman,Santa Cruz,CA,95060,"University of California, Santa Cruz",Professor,6/7/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Craig,Reinarman,Santa Cruz,CA,95060,"University of California, Santa Cruz",Professor,6/23/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Linda,Rhine,Oakland,CA,94612,Linda Rhine,Planner,6/15/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Joshua,Rich,Ben Lomond,CA,95005,"Apex Consultants, Inc.",Chief Executive Officer,6/20/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Dominic,Ripoli,San Francisco,CA,94110,San Francisco Cannabis Legalization Task Force,Project Manager,6/13/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ralph,Risch,Portland,OR,97229,Phylos,Business Development,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Doug,Robinson,Kirkwood,CA,95646,Doug Robinson,Writer,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Tim,Roegge,Boulder Creek,CA,95006,Tim Roegge,Extraction,6/13/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Lauren,Rudick,New York,NY,10011,"Hiller, PC",Attorney,6/14/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Liz,Rudner,San Francisco,CA,94117,BellyWell Kitchen,Co-Founder,6/19/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Scot,Rutlede,Las Vegas,NV,89106,Argentum Partners,Fundraiser,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Amirghasem,Samimi-Ardestan,North Vancouver,BC,V7J1V2,MediGreen,Chief Executive Officer,6/29/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Alan,Saunders,Oakland,CA,94601,Green Rush Consulting,Chief Executive Officer,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Peter,Schorsch,Jenkintown,PA,19046,Diamond Equity Partners,Founder,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Danielle,Schumacher,El Cerrito,CA,94530,"Frank Lucido, M.D",Office Manager,6/13/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Selsky,Oakland,CA,94610,VolunteerMatch,Director,6/19/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Niles,Smith,Fremont,CA,94538,n/a,Not Employed,6/18/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Yvette,Smith,Santa Cruz,CA,95062,"Avedica Nutraceutical, Inc.",Director,6/20/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Michael,Steinmetz,San Francisco,CA,94111,Flow Kana,Chief Executive Officer,6/10/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Keith,Stephenson,Oakland,CA,94011,Purple Heart,Owner,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Erin,Sullivan,Solana Beach,CA,92705,Tradiv,Wholesale,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jeanne,Sullivan,New York,NY,10023,Jeanne Sullivan,Advisory Services,6/10/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Taggart,Oakland,CA,94612,n/a,Not Employed,6/8/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Roxane,Thompson,Oakland,CA,94612,"MC Finance & Management, LLC",Director,6/13/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Sam,Tracy,Somerville,MA,2143,4Front Ventures,Business Development,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Steve,Trenk,Scottsdale,AZ,85255,Lizada Capital,Executive,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Terry,Turner,Landers,CA,92285,n/a,Retired,6/29/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Robert,Van Roo,Palm Springs,CA,92264,Palm Springs Safe Access,Alternative Medicine,6/14/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Lauren,Vazquez,Alameda,CA,94501,Lauren Vazquez,Attorney,6/14/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Carol,Venezia,Boston,MA,2111,Agzaar,Owner,6/27/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,"Vicente Sederberg, LLC",Denver,CO,80203,,,6/27/2016 12:00:00 AM,5000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Beth,Waterfall,Rockland,MA,2370,Beth Waterfall Creative Marketing,Owner,6/17/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Norman,Weekes,Castro Valley,CA,94546,Norman Weekes,Consultant,6/19/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Weidenbach,Costa Mesa,CA,92626,Collective Supply,Chief Executive Officer,6/16/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Michael,Weiss,Thousand Oaks,CA,91362,Nature's Dream,President,6/16/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Norman,Weiss,Santa Cruz,CA,95060,"Design Octaves, Inc.",Chief Executive Officer,6/7/2016 12:00:00 AM,50
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Norman,Weiss,Santa Cruz,CA,95060,"Design Octaves, Inc.",Chief Executive Officer,6/23/2016 12:00:00 AM,50
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,William H.,Wellman,Santa Barbara,CA,93102,n/a,Retired,6/30/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Eric,White,Westminster,CO,80021,Sansal,Vice President of Revenue,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Gail,Whitty,Birmingham,MI,48009,n/a,Retired,6/15/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Joe,Wilde,Ventura,CA,93001,"CZA, Inc.",Chief Executive Officer,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Todd,Winter,Costa Mesa,CA,92627,"Winter, LLP",Attorney,6/15/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,Withered Tree,Richmond,CA,94804,,,5/27/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Wood,Calgary,AB,T2P0R3,Borden Ladner Gervais,Attorney,6/17/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Henry,Wykowski,San Francisco,CA,94104,Wykowski Law,Attorney,6/17/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jeremy,Zachary,Corona,CA,92879,Culture Magazine,Publisher,6/9/2016 12:00:00 AM,5000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jeremy,Zachary,Los Angeles,CA,90045,n/a,Not Employed,6/13/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jon,Zimmerman,Boca Raton,FL,33487,Jane PT Compliance,Director,6/27/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jeffrey,Zucker,Denver,CO,80205,Green Lion Partners,President,6/8/2016 12:00:00 AM,625
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Matthew,Abel,Detroit,MI,48207,Cannabis Counsel PLC,Attorney,6/28/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Kristina,Aguirre,Oakland,CA,94607,"AD Productions, LLC",Administrative Assistant,6/17/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Mark,Ainsworth,Salinas,CA,93901,Indies Holdings,Cannabis,6/20/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Mark,Ainsworth,Salinas,CA,93901,Indies Holdings,Cannabis,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Anton,Albrand,Boulder,CO,80302,Privateer Holdings,Vice President Business Development,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Garyn,Angel,Port Richey,FL,34668,Magical Butter,Chief Executive Officer,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Cesar,Anguhaldo,Oakland,CA,94610,Magnolia Wellness,Business Advisor,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,James,Anthony,Oakland,CA,94601,James Anthony,Attorney,6/16/2016 12:00:00 AM,150
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,John,Arbour,Seattle,WA,98104,ReUp,Co-Founder,6/19/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Joshua,Arce,San Francisco,CA,94110,"Joshua Arce, Attorney At Law",Attorney,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Corey,Barnette,Washington,DC,20012,"District Growers, LLC",Chief Executive Officer Cultivator,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Courtney,Barrett,Oakland,CA,94621,Dark Heart,Executive Assistant,6/16/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Courtney,Barrett,Oakland,CA,94621,Dark Heart,Executive Assistant,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jim,Baudino,Los Angeles,CA,90066,Merry Jane,Marketer,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Karen,Bernstein,Brooklyn,NY,11231,Bernstein IP,Attorney,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Roy,Bingham,Boulder,CO,80302,BDS Analytics,Chief Executive Officer,6/16/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Anthony,Bocanegra,Watsonville,CA,95076,Ethnobotanica,Manager,6/17/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Leslie,Bocskor,Las Vegas,NV,89102,Electrum Partners,President/Managing Member,6/27/2016 12:00:00 AM,400
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Cameron,Bowman,Campbell,CA,95008,"Valencia, Ippolito & Bowman Law",Attorney,6/17/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Barry,Brilliant,Santa Rosa,CA,95404,n/a,Retired,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Rebecca,Brinegar,Dover,DE,19904,Apop Media,Founder,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Karen,Byars,Ukiah,CA,95482,Karen Byars,Event Organizer,6/11/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jan Carlos,Byl,Denver,CO,80209,Medcanna,Chief Executive Officer,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Brian,Caldwell,Tacoma,WA,98406,Triple C Cannabis,Owner,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Campen,Arcadia,CA,91007,Los Angeles Department of Water & Power,Engineer,5/22/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Annette,Cayot,Berkeley,CA,94707,n/a,Retired,6/20/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Brian,Christie,Bethesda,MD,20814,"Brainsy, Inc.",Chief Executive Officer,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Lindsey,Cimino,San Francisco,CA,94117,Uber,Public Policy,6/16/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Amanda,Conley,Oakland,CA,94612,"Brand & Branch, LLP",Attorney,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Alex,Cooley,Seattle,WA,98124,Solstice,Executive,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jessica,Cosca,Oakland,CA,94607,Treatibles,Business Development,6/16/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Katey,Cox,Brooklyn,NY,11215,Gold Drop,Business Development,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Scot,Crow,Canal Winchester,OH,43110,Dickinson Wright,Attorney,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Michael,Cuthriell,Scottsdale,AZ,85258,Metropolitan Wellness Center,President,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jonatan,Cvetko,Redondo Beach,CA,90277,Apple,Sales Associate,6/24/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Vincent,D'Accolti,Dix Hills,NY,11746,SHOProducts,Manufacturing,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Bryna,Dahlin,Chicago,IL,60618,Rollman & Dahlin,Attorney,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Danny,Davis,Rancho Santa Margarita,CA,92688,Convectium,President,6/21/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,James,Depeyster,San Rafael,CA,94903,n/a,Retired,6/7/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Robert,Deprez,Chicago,IL,60640,Deprez Leadership,Executive,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Sotero,Diaz III,Capistrano Beach,CA,92624,Heritage Freedom,Chief Executive Officer,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Alec,Dixon,Santa Cruz,CA,95060,SC Labs,Director of Sales & Outreach,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Julie,Dooley,Denver,CO,80207,Julies Natural Edibles,Owner,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,"Drug Policy Action - Non-Profit 501c4, Yes on Prop. 64",Sacramento,CA,95815,,,5/3/2016 12:00:00 AM,300000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,"Drug Policy Action - Non-Profit 501c4, Yes on Prop. 64",Sacramento,CA,95815,,,5/26/2016 12:00:00 AM,420000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Nic,Easley,Denver,CO,80211,3C - Comprehensive Cannabis Consulting,Chief Executive Officer,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Evan,Enenman,Hewlett,NY,11557,Casa Verde Capital,Partner,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Max,Esdale,Berkeley,CA,94702,n/a,Not Employed,6/4/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Alison,Ettel,San Francisco,CA,94158,TreatWell,Chief Executive Officer/Founder,6/14/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Liesl,Finkler,Arcata,CA,95521,The Humboldt California Association,Dispensary Director,6/14/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Malcolm,Fleschner,Palo Alto,CA,94303,Malcolm Fleschner,Producer,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Anna,Gandelmann,Greenwich,CT,6831,Anna Gandelmann,Fundraiser,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Rachel,Giraudo,Sherman Oaks,CA,91423,"University of California, Northridge",Assistant Professor of Anthropology,6/11/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Diane,Goldstein,Santa Ana,CA,92705,Diane Goldstein,Consulting,6/10/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Nick,Gordon,Golden,CO,80401,Sansal CBD,Sales,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Erin,Gore,Healdsburg,CA,95448,Gore Farms,Owner,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,,"Greenspoon Marder, LLP",San Diego,CA,92101,,,6/15/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Dennis,Grettner,Capistrano Beach,CA,92624,American Hempire,President,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jennifer,Gunn,Superior,CO,80027,"CCC, LTD",Branding & Packaging,6/29/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Alex,Halperin,Denver,CO,80211,Alex Halperin,Writer,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Chris,Hempel,Reno,NV,89571,Strainz,Owner,6/24/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Hugh,Hempel,Reno,NV,89511,Strainz,Chief Executive Officer,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Randolph,Hencken,El Cerrito,CA,94530,The Seasteading Institute,Executive Director,6/16/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Laurie,Holcomb,Newport Beach,CA,92660,"Blackstar Financial, Inc.",Real Estate,6/7/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,John,Holt,Oakview,CA,93023,n/a,Retired,6/2/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Sarah,Holyhead,Washington,DC,20009,Marijuana Policy Project,Fundraiser,6/16/2016 12:00:00 AM,400
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Peter,Holzworth,Fort Lauderdale,FL,33301,"7th Point, LLC",Private Equity,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ryan,Hudson,San Francisco,CA,94115,Apothecarium,Executive Director,6/24/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Hults,Parker,CO,80134,Sansal CBD,Vice President of Marketing,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jazmin,Hupp,Oakland,CA,94601,Women Grow,Principle,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Ryan,Hurley,Scottsdale,AZ,85251,Rose Law Group,Attorney,6/20/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Natasha,Irizarry,Charlotte,NC,28217,Stashbox,Executive,6/17/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,David,Kaiser,Atlanta,GA,30338,Flipside Capital,Managing Director,6/19/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Tony,Karian,Ventura,CA,93003,Southern California Edison,Engineer,6/30/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Brad,Ketcher,Saint Louis,MO,63119,Brad Ketcher,Attorney,6/28/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Khurshid,Khoja,Sacramento,CA,95819,Khursid Khoja,Attorney,6/6/2016 12:00:00 AM,3000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Khurshid,Khoja,Sacramento,CA,95819,Khursid Khoja,Attorney,6/20/2016 12:00:00 AM,250
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Stephanie,Kiel,Watsonville,CA,95076,Ethnobotanica,Director,6/8/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Richard,Kimball,New York,NY,10003,n/a,Not Employed,6/13/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Michael,Klein,Santa Rosa,CA,95409,"Bio365, LLC",Managing Member,6/20/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Jeffrey,Kolsky,San Francisco,CA,94118,Jolly Meds Cannabis Edibles,Director,6/11/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Bret,Kravitz,Columbus,OH,43202,n/a,Not Employed,6/24/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Roger,LaChance,El Cerrito,CA,94530,Berkeley Patients Group,Director of Operations,6/24/2016 12:00:00 AM,1000
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Joy,Langley,Mercer Island,WA,98040,MedCanna,Lobbyist/Vice President,6/27/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Doug,Lanphere,Lake Elsinore,CA,92532,Green Oregon Enterprise,Chief Executive Officer,5/23/2016 12:00:00 AM,2500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Daylin,Leach,Wayne,PA,19087,Commonwealth of Pennsylvania,Senator,6/27/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Marc,Levine,Fort Washington,PA,19034,Calyx Brands,Vice President of Operations,6/19/2016 12:00:00 AM,300
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Amanda,Lewis,Los Angeles,CA,90004,Buzzfeed,Writer,6/9/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Sean,Luse,Berkeley,CA,94710,Berkeley Patients Group,Manager,6/15/2016 12:00:00 AM,100
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Amy,Margolis,Portland,OR,97205,Emerge Law Group,Attorney,6/18/2016 12:00:00 AM,200
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Kyle,Marshall,Oakland,CA,94606,"Brick, Inc.",Owner,6/20/2016 12:00:00 AM,500
2063970,1343793,"Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64",SUPPORT,0,Zach,Marvurger,Chicago,IL,60654,Cresco Labs,Executive,6/20/2016 12:00:00 AM,300
1998126,1371855,Marijuana Policy Project of California,SUPPORT,1,,Marijuana Policy Project,Washington,DC,20009,,,8/19/2015 12:00:00 AM,2000
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,,Novak Media Group,San Bruno,CA,9.40E+08,,,12/15/2015 12:00:00 AM,100
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Randolph,Hencken,Oakland,CA,9.50E+08,The Seasteading Institute,Executive Director,12/15/2015 12:00:00 AM,100
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Jerry,Rosenbaum,San Rafael,CA,9.50E+08,Retired,Retired,12/15/2015 12:00:00 AM,100
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Terry,Turner,Landers,CA,9.20E+08,Retired,Retired,12/16/2015 12:00:00 AM,1000
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Robert,Sullivan,Sacramento,CA,9.60E+08,Self,Physician,12/16/2015 12:00:00 AM,200
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Stuart,Resnick,Berkeley,CA,9.50E+08,TEK Systems,Information Technology (IT),12/18/2015 12:00:00 AM,100
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Chris,Lovenko,Los Angeles,CA,9.00E+08,Pan Opticom Film,Writer,12/31/2015 12:00:00 AM,1000
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Sean,Parker,Palo Alto,CA,94301,Sean N Parker Foundation,Chairman,12/30/2015 12:00:00 AM,250000
2009762,1371855,Marijuana Policy Project of California,SUPPORT,0,Eric,Garris,San Francisco,CA,9.40E+08,Randolph Bourne Institute/Antiwar.com,Director,12/28/2015 12:00:00 AM,100
2034099,1371855,Marijuana Policy Project of California,SUPPORT,1,Daniel,Gallen,Chattaroy,WA,99003,Retired,Retired,3/22/2016 12:00:00 AM,100
2034099,1371855,Marijuana Policy Project of California,SUPPORT,1,,The Werc Shop,Pasadena,CA,91107,,,3/21/2016 12:00:00 AM,5000
2034099,1371855,Marijuana Policy Project of California,SUPPORT,1,,Gro Cal Cooperative,Wildomar,CA,92595,,,3/29/2016 12:00:00 AM,1000
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,,Pineapple Express,Los Angeles,CA,90067,,,4/4/2016 12:00:00 AM,5000
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,,Supreme Organics,New York,NY,10016,,,4/19/2016 12:00:00 AM,5000
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,Nicholas,Pritzker,San Fransisco,CA,94129,TAO CAPITAL PARTNERS LLC,Chairman,4/19/2016 12:00:00 AM,250000
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,Steve,Hitter,Los Angeles,CA,9.00E+08,Hitter Family Foundation,Managing Partner,4/29/2016 12:00:00 AM,2500
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,Timothy,Hand,Palos Verdes Peninsula,CA,90274,Kelley Blue Book,Sales,6/7/2016 12:00:00 AM,100
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,,Poseidon Asset Management,San Francisco,CA,9.40E+08,,,4/15/2016 12:00:00 AM,1800
2060277,1371855,Marijuana Policy Project of California,SUPPORT,0,Les,Whiddon,Newville,AL,3.60E+08,Saints Industries,Owner,6/17/2016 12:00:00 AM,100
1982136,1376077,"Californians for Sensible Reform, Sponsored by Ghost Management Group, LLC dba Weedmaps",SUPPORT,0,,"Ghost Management Group, LLC dba Weedmaps",Irvine,CA,92618,,,4/16/2015 12:00:00 AM,1000000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Laura,Braden Quigley,Sacramento,CA,95825,LBQ Strategies,Consultant,2/4/2016 12:00:00 AM,100
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,"Californians for Sensible Reform, Sponsored by Ghost Management Group, LLC dba Weedmaps",Irvine,CA,92618,,,1/5/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,"Californians for Sensible Reform, Sponsored by Ghost Management Group, LLC dba Weedmaps",Irvine,CA,92618,,,1/29/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,"Californians for Sensible Reform, Sponsored by Ghost Management Group, LLC dba Weedmaps",Irvine,CA,92618,,,3/28/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,Drug Policy Action,New York,NY,10001,,,1/5/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,Drug Policy Action,New York,NY,10001,,,2/2/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dewight,Emery,San Jose,CA,95121,Appliance Tech Now,Appliance Technician,3/24/2016 12:00:00 AM,100
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Gregory,Gilbert,San Diego,CA,92108,None,Unemployed,3/11/2016 12:00:00 AM,100
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Richard,Hedrick,Claremont,CA,91711,imortgage,Mortgage Banking,3/20/2016 12:00:00 AM,100
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,New Approach PAC (MPO),Washington,DC,20036,,,1/6/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Sean,Parker and affiliated entities,Palo Alto,CA,94301,,,1/5/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Sean,Parker and affiliated entities,Palo Alto,CA,94301,,,1/5/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Sean,Parker and affiliated entities,Palo Alto,CA,94301,,,2/2/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Sean,Parker and affiliated entities,Palo Alto,CA,94301,,,2/3/2016 12:00:00 AM,250000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Kenneth,Potstada,Walnut Creek,CA,94595,None,Unemployed,3/9/2016 12:00:00 AM,1000
2038581,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Will,Risseeuw,Redwood City,CA,94062,None,Unemployed,3/15/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Abdul,Ahmed,San Dimas,CA,91773,Babcock Welding Company Inc.,Manager,4/28/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Rich,Beadle,Red Bluff,CA,96080,GWW Ranch,Rancher,4/6/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Rich,Beadle,Red Bluff,CA,96080,GWW Ranch,Rancher,5/4/2016 12:00:00 AM,25
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Gordon,Brownell,Calistoga,CA,94515,"Gordon S. Brownell, Attorney at Law",Attorney,6/30/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Brian,Burhans,Seattle,WA,98115,King County,Light Rail Train Operator,6/30/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Marco,Chavarin,San Jose,CA,95110,CIWP,Program Director,6/29/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Rosanne,Christensen,Martinez,CA,94553,Tides Foundation,Office Manager,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Stuart,Cianos,Redwood City,CA,94061,Yahoo,Infrastructure Engineering,5/4/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,Drug Policy Action - Non-Profit 501c4,Sacramento,CA,95815,,,5/4/2016 12:00:00 AM,250000
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dewight,Emery,San Jose,CA,95121,Appliance Tech Now,Appliance Technician,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Bill,Gillispie,Santa Rosa,CA,95401,"Bill Gillispie, Graphic Design",Graphic Design,5/9/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Larry,Hannan,Redding,CA,96003,None,Unemployed,5/4/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Larry,Hannan,Redding,CA,96003,None,Unemployed,6/29/2016 12:00:00 AM,20
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Beth,Herman,Encinitas,CA,92024,None,Unemployed,5/16/2016 12:00:00 AM,1000
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Matthew,Heyman,Pacific Palisades,CA,90272,None,Unemployed,5/11/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Lee,House,McKinleyville,CA,95519,None,Unemployed,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Lee,House,McKinleyville,CA,95519,None,Unemployed,6/29/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Tony,Karian,Ventura,CA,93003,Southern California Edison,Engineer,5/10/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,John,Kelsoe,Del Mar,CA,92014,"University of California, San Diego",Physician,6/6/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Brian,Key,San Francisco,CA,94114,None,Unemployed,5/14/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Roger,Kranz,Palm Desert,CA,92211,None,Unemployed,6/22/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,David,Larson,Malibu,CA,90265,None,Unemployed,5/3/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,John,Malmo,Fresno,CA,9.37E+04,Netzer & Malmo,Attorney,6/7/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dion,Markgraaff,Vista,CA,9.21E+04,"Dion Markgraaff, Consultant",Consultant,5/4/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Richard,Matthew,Fair Oaks,CA,9.56E+04,None,Unemployed,6/30/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,James,Merrill,Los Angeles,CA,9.00E+04,Riot Games,Software Engineer,4/13/2016 12:00:00 AM,250
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Jeffery,Mills,Grover Beach,CA,9.34E+04,None,Unemployed,5/4/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Steven,Morrison,Pasadena,CA,9.11E+04,None,Unemployed,6/29/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,,New Approach PAC (MPO),Washington,DC,2.00E+04,,,4/1/2016 12:00:00 AM,500000
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Rob,Orsburn,Tujunga,CA,91042,None,Unemployed,6/28/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Innokenty,Oshmansky,Daly City,CA,9.40E+04,"University of California, San Francisco",Registered Nurse,6/10/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Simon,Plant,Goleta,CA,93117,None,Unemployed,5/6/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Nicholas,Pritzker,San Francisco,CA,94129,"Tao Capital Partners, LLC",Chairman,4/18/2016 12:00:00 AM,250000
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Richard,Probst,Los Altos,CA,94024,SAP,Executive,5/12/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Jonathan,Richter,Auburn,CA,95603,Richard A. Ciummo & Associates,Attorney,5/9/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Barry,Rubinow,West Hills,CA,91304,None,Film Editor,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Harris,Schneiderman,Las Vegas,NV,89169,H Tech Solutions,Chief Executive Officer,6/29/2016 12:00:00 AM,500
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,David,Shirley,Oakland,CA,94609,Apteligent,Engineer,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Kent,Sokolow,Pasadena,CA,91105,KenCott Manor,Honda Dealer,5/15/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Marc,Steigleder,Santa Monica,CA,90404,"Marc Steigleder, Handyman",Handyman,5/2/2016 12:00:00 AM,25
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Marc,Steigleder,Santa Monica,CA,90404,"Marc Steigleder, Handyman",Handyman,6/30/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Lane,Stewart,Metairie,LA,70005,None,Unemployed,4/6/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Robert,Sullivan,Sacramento,CA,95816,None,Unemployed,4/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Carl,Tennenbaum,Sebastopol,CA,95472,None,Unemployed,5/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Terry,Turner,Landers,CA,92285,None,Unemployed,5/10/2016 12:00:00 AM,250
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dan,Viets,Columbia,MO,65201,Dan Viets Attorney at Law,Attorney,4/8/2016 12:00:00 AM,25
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dan,Viets,Columbia,MO,6.52E+04,Dan Viets Attorney at Law,Attorney,4/15/2016 12:00:00 AM,25
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dan,Viets,Columbia,MO,65201,Dan Viets Attorney at Law,Attorney,5/17/2016 12:00:00 AM,50
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Claude,Waldbaum,West Hills,CA,9.13E+04,None,Unemployed,4/5/2016 12:00:00 AM,100
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Claude,Waldbaum,West Hills,CA,9.13E+04,None,Unemployed,5/4/2016 12:00:00 AM,50
2064423,1381808,"Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations",SUPPORT,1,Dylan,Winn,San Marcos,CA,92069,First Data,Software Engineer,4/30/2016 12:00:00 AM,100
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CALIF. POLICE CHIEFS ASSOC.,SACRAMENTO,CA,95865,,,2/8/2016 12:00:00 AM,10000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,"CALIF. CORRECTIONAL SUPERVISORS ORGANIZATION, INC.",ESCALON,CA,95320,,,2/22/2016 12:00:00 AM,5000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,ASSOC. FOR LOS ANGELES DEPUTY SHERIFFS STATE PAC,MONTEREY PARK,CA,91755,,,2/23/2016 12:00:00 AM,5000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,RIVERSIDE SHERIFFS ASSOC.,RIVERSIDE,CA,92507,,,2/23/2016 12:00:00 AM,5000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CALIF. HOSPITALS COMMITTEE ON ISSUES,SACRAMENTO,CA,95814,,,3/3/2016 12:00:00 AM,5000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,LOS ANGELES POLICE PROTECTIVE LEAGUE ISSUES PAC,SACRAMENTO,CA,95814,,,3/3/2016 12:00:00 AM,5000
2040789,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CALIF. TEAMSTERS PUBLIC AFFAIRS COUNCIL ISSUES ACCT.,SACRAMENTO,CA,95814,,,3/9/2016 12:00:00 AM,25000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,"SAM ACTION, INC.",NEW YORK,NY,10014,,,4/18/2016 12:00:00 AM,10000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,GOLDEN STATE LEADERSHIP COUNCIL,SACRAMENTO,CA,95814,,,5/27/2016 12:00:00 AM,1000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,LOS ANGELES COUNTY PROFESSIONAL PEACE OFFICERS ASSOC. SPECIAL ISSUES COMMITTEE,SAN DIMAS,CA,91773,,,5/27/2016 12:00:00 AM,10000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Clarence,Stewart,Saugus,CA,91350,CNOA,Mr,6/2/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Miguel,Colon Jr,Imperial,CA,92251,City of Imperial,Chief of Police,6/8/2016 12:00:00 AM,200
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Ken,Corney,Ventura,CA,93003,City of Ventura,Police Chief,6/8/2016 12:00:00 AM,300
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Ronald,Lawrence,Rocklin,CA,95677,City of Rocklin,Chief of Police,6/8/2016 12:00:00 AM,300
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Robert,Sanderson,Upland,CA,91784,City of Arcadia,Chief of Police (Retired),6/8/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Scott,Seaman,San Jose,CA,95125,Scott Seaman Consulting,Consultant,6/8/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CALIF. PEACE OFFICERS ASSOC.,SACRAMENTO,CA,95814,,,6/9/2016 12:00:00 AM,5000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,DAVID,DARRIN,PLEASANTON,CA,94566,ALAMEDA COUNTY,DEPUTY SHERIFF,6/9/2016 12:00:00 AM,200
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,Laguna Beach Police Employees',Laguna Beach,CA,92652,,,6/9/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,David,McCartney,Hollister,CA,95023,City of Watsonville,Deputy Chief,6/10/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Eric,Nunez,Los Alamitos,CA,90720,City of Los Alamitos Police Department,Chief of Police,6/10/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,RONALD,JOHNSON,Murrieta,CA,92563,Retired,Chief of Police,6/12/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,ASSOC. FOR LOS ANGELES DEPUTY SHERIFFS STATE PIC,MONTEREY PARK,CA,91755,,,6/13/2016 12:00:00 AM,5000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,CECILIA,GALVIN,CLOVIS,CA,93619,,NOT EMPLOYED,6/13/2016 12:00:00 AM,150
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,"SAM ACTION, INC.",NEW YORK,NY,10014,,,6/13/2016 12:00:00 AM,36000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,Tejada Threat Management,Orinda,CA,94563,,,6/14/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Robert,Handy,HUNTINGTON Beach,CA,92649,City of Huntington Beach,Police Chief,6/24/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Dan,DeSmidt,Belmont,CA,94002,Belmont Police Dept,Chief of Police,6/27/2016 12:00:00 AM,150
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,Sam,Spiegel,Folsom,CA,95630,Retired,Chief of Police - Ret.,6/28/2016 12:00:00 AM,200
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CNOA,Santa Clarita,CA,91355,,,6/29/2016 12:00:00 AM,5000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,"SAM ACTION, INC.",NEW YORK,NY,10014,,,6/29/2016 12:00:00 AM,18150
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,CALIF. STATE SHERIFFS' ASSOC.,SACRAMENTO,CA,95814,,,6/30/2016 12:00:00 AM,10000
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,JAMES,DAVIS,SUNNYVALE,CA,94086,CITY OF SUNNYVALE,COUNCIL MEMBER,6/30/2016 12:00:00 AM,100
2064127,1382568,"No on Prop. 64, Sponsored by California Public Safety Institute",OPPOSE,0,,MULDOON FOR NEWPORT BEACH CITY COUNCIL 2016,SANTA ANA,CA,92705,,,6/30/2016 12:00:00 AM,500
2038497,1382525,New Approach PAC (MPO),SUPPORT,0,Sean,Parker,Palo Alto,CA,94301,Sean Parker Foundation,Chairman,1/28/2016 12:00:00 AM,250000
2038497,1382525,New Approach PAC (MPO),SUPPORT,0,Daniel,Lewis,Coral Gables,FL,33146,,Retired,3/31/2016 12:00:00 AM,500000
2038497,1382525,New Approach PAC (MPO),SUPPORT,0,Daniel,Lewis,Coral Gables,FL,33146,,Retired,1/6/2016 12:00:00 AM,250000
2063087,1382525,New Approach PAC (MPO),SUPPORT,0,Henry,van Ameringen,New York,NY,10011,,Retired,6/30/2016 12:00:00 AM,1000000
2064069,1385506,"Drug Policy Action - Non Profit 501c4, Yes on Prop. 64",SUPPORT,0,,Drug Policy Action,Oakland,CA,94612,,,1/5/2016 12:00:00 AM,250000
2064069,1385506,"Drug Policy Action - Non Profit 501c4, Yes on Prop. 64",SUPPORT,0,,Drug Policy Action,Oakland,CA,94612,,,2/2/2016 12:00:00 AM,250000
2064069,1385506,"Drug Policy Action - Non Profit 501c4, Yes on Prop. 64",SUPPORT,0,,Fund for Policy Reform (nonprofit 501 (c)(4)),New York,NY,10019,,,5/3/2016 12:00:00 AM,550000
2064069,1385506,"Drug Policy Action - Non Profit 501c4, Yes on Prop. 64",SUPPORT,0,,Fund for Policy Reform (nonprofit 501 (c)(4)),New York,NY,10019,,,5/26/2016 12:00:00 AM,420000
2057298,1385745,Fund for Policy Reform (Nonprofit 501(C)(4)),SUPPORT,0,,Fund for Policy Reform,Wilmington,DE,19809,,,5/3/2016 12:00:00 AM,550000
2057298,1385745,Fund for Policy Reform (Nonprofit 501(C)(4)),SUPPORT,0,,Fund for Policy Reform,Wilmington,DE,19809,,,5/26/2016 12:00:00 AM,420000
2064155,1387789,"Sam Action, Inc., a Committee Against Proposition 64 with Help from Citizens (NonProfit 501(C)(4))",OPPOSE,1,Julie,Schauer,Oaks,PA,19456,,RETIRED,4/13/2016 12:00:00 AM,14000
2064155,1387789,"Sam Action, Inc., a Committee Against Proposition 64 with Help from Citizens (NonProfit 501(C)(4))",OPPOSE,1,Julie,Schauer,Oaks,PA,19456,,RETIRED,5/20/2016 12:00:00 AM,35000
2064155,1387789,"Sam Action, Inc., a Committee Against Proposition 64 with Help from Citizens (NonProfit 501(C)(4))",OPPOSE,1,Julie,Schauer,Oaks,PA,19456,,RETIRED,6/8/2016 12:00:00 AM,120000
2064155,1387789,"Sam Action, Inc., a Committee Against Proposition 64 with Help from Citizens (NonProfit 501(C)(4))",OPPOSE,1,Julie,Schauer,Oaks,PA,19456,,RETIRED,6/13/2016 12:00:00 AM,45000

That's all good, but the data is printing out as one big long string. If we're going to do some real analysis, we need Python to recognize and respect the structure of our data, in the way an Excel spreadsheet would.

To do that, we're going to need something smarter than open. We're going to need something like pandas.

Act 3: Hello pandas

Lucky for us, Python already has tools filled with functions to do pretty much anything you’d ever want to do with a programming language: navigate the web, parse data, interact with a database, run fancy statistics, build a pretty website and so much more.

Some of those tools are included a toolbox that comes with the language, known as the standard library. Others have been built by members of Python's developer community and need to be downloaded and installed from the web.

For this exercise, we're going to install and use pandas, a tool developed by a financial investment firm that has become the leading open-source tool for accessing and analyzing data.

There are several others we could use instead (like agate) but we're picking pandas here because it's the most popular and powerful.

We'll install pandas the same way we installed the Jupyter Notebook earlier: Our friend pip. Save your notebook, switch to your window/command prompt and hit CTRL-C. That will kill your notebook and return you to the command line. There we'll install pandas.

pip install pandas

Now let's restart our notebook and get back to work.

jupyter notebook

Use the next open box to import pandas into our script, so we can use all its fancy methods here in our script.


In [15]:
import pandas

Opening our CSV isn't any harder than with open, you just need to know the right trick to make it work.


In [16]:
pandas.read_csv("./first-python-notebook.csv")


Out[16]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
0 1680042 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action Committee to Tax and Regula... Sacramento CA 95815 NaN NaN 1/3/2012 12:00:00 AM 10975.5
1 1937009 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Luke Sinquefield Pacific Palisades CA 90272 Luke Sinquefield Realtor 7/25/2014 12:00:00 AM 15000.0
2 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Susan Podolsky Modesto CA 95350 Ontario Base Hospital Group Physician 3/21/2016 12:00:00 AM 100.0
3 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Philip Davis Salinas CA 93901 Monterey County Office of Education Education 3/21/2016 12:00:00 AM 250.0
4 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Kevin Herbert San Francisco CA 94110 Platina Systems Corporation Principal Software Engineer 3/31/2016 12:00:00 AM 100.0
5 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jessica McElfresh Rancho Santa Fe CA 92019 Jessica McElfresh Attorney 6/7/2016 12:00:00 AM 100.0
6 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Patrick McManamon Westlake OH 44145 Cannasure Insurance Services, LLC Chief Executive Officer 6/17/2016 12:00:00 AM 2500.0
7 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Maureen McNamara Denver CO 80211 Cannabis Trainers Training 6/27/2016 12:00:00 AM 100.0
8 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Evan Metz Miami FL 33179 ECA Solutions Business Development 6/27/2016 12:00:00 AM 100.0
9 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/17/2016 12:00:00 AM 25.0
10 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/19/2016 12:00:00 AM 75.0
11 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN MJ Freeway, LLC Denver CO 80202 NaN NaN 6/13/2016 12:00:00 AM 2500.0
12 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bob Morgan Chicago IL 60015 Much Shelist, P.C. Attorney 6/20/2016 12:00:00 AM 100.0
13 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Mountain High Suckers Denver CO 80223 NaN NaN 6/24/2016 12:00:00 AM 200.0
14 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ellen Moy Torrance CA 90504 Ellen Moy Attorney 6/24/2016 12:00:00 AM 100.0
15 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Thomas Mundell Bridgeton MO 63044 n/a Retired 6/14/2016 12:00:00 AM 100.0
16 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 David Muret Seattle WA 98104 Viridian Staffing Co-Founder 6/16/2016 12:00:00 AM 100.0
17 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Genifer Murray Scottsdale AZ 85260 Carbon Blue Consulting Owner 6/27/2016 12:00:00 AM 100.0
18 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 5/5/2016 12:00:00 AM 110.0
19 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 6/7/2016 12:00:00 AM 75.0
20 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Elizabeth Nichols Edmond OK 73034 Rosebud Attorney 6/24/2016 12:00:00 AM 100.0
21 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ken Novak Palo Alto CA 94303 Ken Novak Consultant 6/7/2016 12:00:00 AM 100.0
22 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Katie O'Block Boulder CO 80301 Surna, Inc. Marketing 6/17/2016 12:00:00 AM 200.0
23 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Adam Orens Denver CO 80202 Marijuana Policy Group Consultant 6/20/2016 12:00:00 AM 100.0
24 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Milan Patel Scottsdale AZ 85260 Pathogen DX Chief Executive Officer 6/24/2016 12:00:00 AM 100.0
25 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Emily Paxhia San Francisco CA 94117 Poseidon Asset Management Investments 6/17/2016 12:00:00 AM 2500.0
26 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Nancy Pemberton Sebastopol CA 95473 Nancy Pemberton Analyst 6/29/2016 12:00:00 AM 100.0
27 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jon Perri San Francisco CA 94115 Change.org Campaigns Director 6/9/2016 12:00:00 AM 100.0
28 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jessica Peters Oakland CA 94601 Moxie Meds President 6/16/2016 12:00:00 AM 200.0
29 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 William Pletcher Downers Grove IL 60516 MCAH, LTD. President 6/27/2016 12:00:00 AM 100.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
288 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN Laguna Beach Police Employees' Laguna Beach CA 92652 NaN NaN 6/9/2016 12:00:00 AM 100.0
289 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 David McCartney Hollister CA 95023 City of Watsonville Deputy Chief 6/10/2016 12:00:00 AM 100.0
290 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 Eric Nunez Los Alamitos CA 90720 City of Los Alamitos Police Department Chief of Police 6/10/2016 12:00:00 AM 100.0
291 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 RONALD JOHNSON Murrieta CA 92563 Retired Chief of Police 6/12/2016 12:00:00 AM 100.0
292 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN ASSOC. FOR LOS ANGELES DEPUTY SHERIFFS STATE PIC MONTEREY PARK CA 91755 NaN NaN 6/13/2016 12:00:00 AM 5000.0
293 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 CECILIA GALVIN CLOVIS CA 93619 NaN NOT EMPLOYED 6/13/2016 12:00:00 AM 150.0
294 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN SAM ACTION, INC. NEW YORK NY 10014 NaN NaN 6/13/2016 12:00:00 AM 36000.0
295 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN Tejada Threat Management Orinda CA 94563 NaN NaN 6/14/2016 12:00:00 AM 100.0
296 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 Robert Handy HUNTINGTON Beach CA 92649 City of Huntington Beach Police Chief 6/24/2016 12:00:00 AM 100.0
297 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 Dan DeSmidt Belmont CA 94002 Belmont Police Dept Chief of Police 6/27/2016 12:00:00 AM 150.0
298 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 Sam Spiegel Folsom CA 95630 Retired Chief of Police - Ret. 6/28/2016 12:00:00 AM 200.0
299 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN CNOA Santa Clarita CA 91355 NaN NaN 6/29/2016 12:00:00 AM 5000.0
300 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN SAM ACTION, INC. NEW YORK NY 10014 NaN NaN 6/29/2016 12:00:00 AM 18150.0
301 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN CALIF. STATE SHERIFFS' ASSOC. SACRAMENTO CA 95814 NaN NaN 6/30/2016 12:00:00 AM 10000.0
302 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 JAMES DAVIS SUNNYVALE CA 94086 CITY OF SUNNYVALE COUNCIL MEMBER 6/30/2016 12:00:00 AM 100.0
303 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN MULDOON FOR NEWPORT BEACH CITY COUNCIL 2016 SANTA ANA CA 92705 NaN NaN 6/30/2016 12:00:00 AM 500.0
304 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean Parker Foundation Chairman 1/28/2016 12:00:00 AM 250000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
306 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 1/6/2016 12:00:00 AM 250000.0
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
308 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 1/5/2016 12:00:00 AM 250000.0
309 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 2/2/2016 12:00:00 AM 250000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0
314 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 4/13/2016 12:00:00 AM 14000.0
315 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 5/20/2016 12:00:00 AM 35000.0
316 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/8/2016 12:00:00 AM 120000.0
317 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/13/2016 12:00:00 AM 45000.0

318 rows × 14 columns

Great. Now let's do it again and assign it to a variable this time


In [17]:
table = pandas.read_csv("./first-python-notebook.csv")

Now let's see what that returns when we print it.


In [18]:
table.info()


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 318 entries, 0 to 317
Data columns (total 14 columns):
FILING_ID             318 non-null int64
COMMITTEE_ID          318 non-null int64
COMMITTEE_NAME        318 non-null object
COMMITTEE_POSITION    318 non-null object
AMEND_ID              318 non-null int64
FIRST_NAME            269 non-null object
LAST_NAME             318 non-null object
CITY                  318 non-null object
STATE                 318 non-null object
ZIPCODE               318 non-null object
EMPLOYER              257 non-null object
OCCUPATION            265 non-null object
DATE                  318 non-null object
AMOUNT                318 non-null float64
dtypes: float64(1), int64(3), object(10)
memory usage: 34.9+ KB

Here's how you can see the first few rows


In [19]:
table.head()


Out[19]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
0 1680042 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action Committee to Tax and Regula... Sacramento CA 95815 NaN NaN 1/3/2012 12:00:00 AM 10975.5
1 1937009 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Luke Sinquefield Pacific Palisades CA 90272 Luke Sinquefield Realtor 7/25/2014 12:00:00 AM 15000.0
2 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Susan Podolsky Modesto CA 95350 Ontario Base Hospital Group Physician 3/21/2016 12:00:00 AM 100.0
3 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Philip Davis Salinas CA 93901 Monterey County Office of Education Education 3/21/2016 12:00:00 AM 250.0
4 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Kevin Herbert San Francisco CA 94110 Platina Systems Corporation Principal Software Engineer 3/31/2016 12:00:00 AM 100.0

How many rows are there? Here's how to find out.


In [20]:
print len(table)


318

Even with that simple question and answer, we've begun the process of interviewing our data.

In some ways, your database is no different from a human source. Getting a good story requires careful, thorough questioning.

In the next section we will move ahead by conducting an interview with pandas to pursue our quest of finding out the biggest donors to Proposition 64.

Act 4: Hello analysis

Let's start with something easy. What are the ten biggest contributions?

That will require a sort using the column with the money in it.


In [21]:
table.sort_values("AMOUNT")


Out[21]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
231 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Larry Hannan Redding CA 96003 None Unemployed 6/29/2016 12:00:00 AM 20.0
9 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/17/2016 12:00:00 AM 25.0
265 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 6.52E+04 Dan Viets Attorney at Law Attorney 4/15/2016 12:00:00 AM 25.0
264 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 4/8/2016 12:00:00 AM 25.0
258 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Marc Steigleder Santa Monica CA 90404 Marc Steigleder, Handyman Handyman 5/2/2016 12:00:00 AM 25.0
221 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Rich Beadle Red Bluff CA 96080 GWW Ranch Rancher 5/4/2016 12:00:00 AM 25.0
268 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Claude Waldbaum West Hills CA 9.13E+04 None Unemployed 5/4/2016 12:00:00 AM 50.0
76 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Norman Weiss Santa Cruz CA 95060 Design Octaves, Inc. Chief Executive Officer 6/7/2016 12:00:00 AM 50.0
266 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 5/17/2016 12:00:00 AM 50.0
77 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Norman Weiss Santa Cruz CA 95060 Design Octaves, Inc. Chief Executive Officer 6/23/2016 12:00:00 AM 50.0
19 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 6/7/2016 12:00:00 AM 75.0
10 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/19/2016 12:00:00 AM 75.0
160 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ryan Hurley Scottsdale AZ 85251 Rose Law Group Attorney 6/20/2016 12:00:00 AM 100.0
162 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 David Kaiser Atlanta GA 30338 Flipside Capital Managing Director 6/19/2016 12:00:00 AM 100.0
159 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jazmin Hupp Oakland CA 94601 Women Grow Principle 6/20/2016 12:00:00 AM 100.0
156 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Peter Holzworth Fort Lauderdale FL 33301 7th Point, LLC Private Equity 6/20/2016 12:00:00 AM 100.0
154 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 John Holt Oakview CA 93023 n/a Retired 6/2/2016 12:00:00 AM 100.0
163 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Tony Karian Ventura CA 93003 Southern California Edison Engineer 6/30/2016 12:00:00 AM 100.0
164 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Brad Ketcher Saint Louis MO 63119 Brad Ketcher Attorney 6/28/2016 12:00:00 AM 100.0
158 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 David Hults Parker CO 80134 Sansal CBD Vice President of Marketing 6/27/2016 12:00:00 AM 100.0
173 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Joy Langley Mercer Island WA 98040 MedCanna Lobbyist/Vice President 6/27/2016 12:00:00 AM 100.0
171 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bret Kravitz Columbus OH 43202 n/a Not Employed 6/24/2016 12:00:00 AM 100.0
152 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Randolph Hencken El Cerrito CA 94530 The Seasteading Institute Executive Director 6/16/2016 12:00:00 AM 100.0
177 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Amanda Lewis Los Angeles CA 90004 Buzzfeed Writer 6/9/2016 12:00:00 AM 100.0
178 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Sean Luse Berkeley CA 94710 Berkeley Patients Group Manager 6/15/2016 12:00:00 AM 100.0
183 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 NaN Novak Media Group San Bruno CA 9.40E+08 NaN NaN 12/15/2015 12:00:00 AM 100.0
184 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Randolph Hencken Oakland CA 9.50E+08 The Seasteading Institute Executive Director 12/15/2015 12:00:00 AM 100.0
185 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Jerry Rosenbaum San Rafael CA 9.50E+08 Retired Retired 12/15/2015 12:00:00 AM 100.0
188 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Stuart Resnick Berkeley CA 9.50E+08 TEK Systems Information Technology (IT) 12/18/2015 12:00:00 AM 100.0
191 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Eric Garris San Francisco CA 9.40E+08 Randolph Bourne Institute/Antiwar.com Director 12/28/2015 12:00:00 AM 100.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
317 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/13/2016 12:00:00 AM 45000.0
316 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/8/2016 12:00:00 AM 120000.0
208 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action New York NY 10001 NaN NaN 2/2/2016 12:00:00 AM 250000.0
227 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action - Non-Profit 501c4 Sacramento CA 95815 NaN NaN 5/4/2016 12:00:00 AM 250000.0
309 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 2/2/2016 12:00:00 AM 250000.0
308 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 1/5/2016 12:00:00 AM 250000.0
306 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 1/6/2016 12:00:00 AM 250000.0
304 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean Parker Foundation Chairman 1/28/2016 12:00:00 AM 250000.0
212 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 20036 NaN NaN 1/6/2016 12:00:00 AM 250000.0
215 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 2/2/2016 12:00:00 AM 250000.0
214 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 1/5/2016 12:00:00 AM 250000.0
216 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 2/3/2016 12:00:00 AM 250000.0
197 2060277 1371855 Marijuana Policy Project of California SUPPORT 0 Nicholas Pritzker San Fransisco CA 94129 TAO CAPITAL PARTNERS LLC Chairman 4/19/2016 12:00:00 AM 250000.0
207 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action New York NY 10001 NaN NaN 1/5/2016 12:00:00 AM 250000.0
206 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 3/28/2016 12:00:00 AM 250000.0
190 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean N Parker Foundation Chairman 12/30/2015 12:00:00 AM 250000.0
213 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 1/5/2016 12:00:00 AM 250000.0
205 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 1/29/2016 12:00:00 AM 250000.0
204 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 1/5/2016 12:00:00 AM 250000.0
251 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Nicholas Pritzker San Francisco CA 94129 Tao Capital Partners, LLC Chairman 4/18/2016 12:00:00 AM 250000.0
133 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/3/2016 12:00:00 AM 300000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0
134 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/26/2016 12:00:00 AM 420000.0
247 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 2.00E+04 NaN NaN 4/1/2016 12:00:00 AM 500000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
202 1982136 1376077 Californians for Sensible Reform, Sponsored by... SUPPORT 0 NaN Ghost Management Group, LLC dba Weedmaps Irvine CA 92618 NaN NaN 4/16/2015 12:00:00 AM 1000000.0

318 rows × 14 columns

We've got it sorted the wrong way. Let's reverse it.


In [22]:
table.sort_values("AMOUNT", ascending=False)


Out[22]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
202 1982136 1376077 Californians for Sensible Reform, Sponsored by... SUPPORT 0 NaN Ghost Management Group, LLC dba Weedmaps Irvine CA 92618 NaN NaN 4/16/2015 12:00:00 AM 1000000.0
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
247 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 2.00E+04 NaN NaN 4/1/2016 12:00:00 AM 500000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
134 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/26/2016 12:00:00 AM 420000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
133 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/3/2016 12:00:00 AM 300000.0
207 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action New York NY 10001 NaN NaN 1/5/2016 12:00:00 AM 250000.0
213 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 1/5/2016 12:00:00 AM 250000.0
212 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 20036 NaN NaN 1/6/2016 12:00:00 AM 250000.0
208 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action New York NY 10001 NaN NaN 2/2/2016 12:00:00 AM 250000.0
205 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 1/29/2016 12:00:00 AM 250000.0
206 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 3/28/2016 12:00:00 AM 250000.0
215 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 2/2/2016 12:00:00 AM 250000.0
204 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Californians for Sensible Reform, Sponsored by... Irvine CA 92618 NaN NaN 1/5/2016 12:00:00 AM 250000.0
197 2060277 1371855 Marijuana Policy Project of California SUPPORT 0 Nicholas Pritzker San Fransisco CA 94129 TAO CAPITAL PARTNERS LLC Chairman 4/19/2016 12:00:00 AM 250000.0
190 2009762 1371855 Marijuana Policy Project of California SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean N Parker Foundation Chairman 12/30/2015 12:00:00 AM 250000.0
214 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 1/5/2016 12:00:00 AM 250000.0
251 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Nicholas Pritzker San Francisco CA 94129 Tao Capital Partners, LLC Chairman 4/18/2016 12:00:00 AM 250000.0
216 2038581 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Sean Parker and affiliated entities Palo Alto CA 94301 NaN NaN 2/3/2016 12:00:00 AM 250000.0
227 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN Drug Policy Action - Non-Profit 501c4 Sacramento CA 95815 NaN NaN 5/4/2016 12:00:00 AM 250000.0
304 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean Parker Foundation Chairman 1/28/2016 12:00:00 AM 250000.0
306 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 1/6/2016 12:00:00 AM 250000.0
308 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 1/5/2016 12:00:00 AM 250000.0
309 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 2/2/2016 12:00:00 AM 250000.0
316 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/8/2016 12:00:00 AM 120000.0
317 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/13/2016 12:00:00 AM 45000.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
125 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Vincent D'Accolti Dix Hills NY 11746 SHOProducts Manufacturing 6/24/2016 12:00:00 AM 100.0
126 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bryna Dahlin Chicago IL 60618 Rollman & Dahlin Attorney 6/28/2016 12:00:00 AM 100.0
127 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Danny Davis Rancho Santa Margarita CA 92688 Convectium President 6/21/2016 12:00:00 AM 100.0
128 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 James Depeyster San Rafael CA 94903 n/a Retired 6/7/2016 12:00:00 AM 100.0
129 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Robert Deprez Chicago IL 60640 Deprez Leadership Executive 6/27/2016 12:00:00 AM 100.0
130 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Sotero Diaz III Capistrano Beach CA 92624 Heritage Freedom Chief Executive Officer 6/20/2016 12:00:00 AM 100.0
131 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Alec Dixon Santa Cruz CA 95060 SC Labs Director of Sales & Outreach 6/27/2016 12:00:00 AM 100.0
146 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Greenspoon Marder, LLP San Diego CA 92101 NaN NaN 6/15/2016 12:00:00 AM 100.0
35 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 John Rasmussen Tampa FL 33602 John Rasmussen Physician 6/27/2016 12:00:00 AM 100.0
135 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Nic Easley Denver CO 80211 3C - Comprehensive Cannabis Consulting Chief Executive Officer 6/20/2016 12:00:00 AM 100.0
132 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Julie Dooley Denver CO 80207 Julies Natural Edibles Owner 6/28/2016 12:00:00 AM 100.0
159 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jazmin Hupp Oakland CA 94601 Women Grow Principle 6/20/2016 12:00:00 AM 100.0
144 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Nick Gordon Golden CO 80401 Sansal CBD Sales 6/27/2016 12:00:00 AM 100.0
138 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Alison Ettel San Francisco CA 94158 TreatWell Chief Executive Officer/Founder 6/14/2016 12:00:00 AM 100.0
140 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Malcolm Fleschner Palo Alto CA 94303 Malcolm Fleschner Producer 6/24/2016 12:00:00 AM 100.0
145 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Erin Gore Healdsburg CA 95448 Gore Farms Owner 6/24/2016 12:00:00 AM 100.0
137 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Max Esdale Berkeley CA 94702 n/a Not Employed 6/4/2016 12:00:00 AM 100.0
141 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Anna Gandelmann Greenwich CT 6831 Anna Gandelmann Fundraiser 6/27/2016 12:00:00 AM 100.0
19 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 6/7/2016 12:00:00 AM 75.0
10 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/19/2016 12:00:00 AM 75.0
76 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Norman Weiss Santa Cruz CA 95060 Design Octaves, Inc. Chief Executive Officer 6/7/2016 12:00:00 AM 50.0
268 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Claude Waldbaum West Hills CA 9.13E+04 None Unemployed 5/4/2016 12:00:00 AM 50.0
77 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Norman Weiss Santa Cruz CA 95060 Design Octaves, Inc. Chief Executive Officer 6/23/2016 12:00:00 AM 50.0
266 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 5/17/2016 12:00:00 AM 50.0
221 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Rich Beadle Red Bluff CA 96080 GWW Ranch Rancher 5/4/2016 12:00:00 AM 25.0
9 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/17/2016 12:00:00 AM 25.0
265 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 6.52E+04 Dan Viets Attorney at Law Attorney 4/15/2016 12:00:00 AM 25.0
264 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 4/8/2016 12:00:00 AM 25.0
258 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Marc Steigleder Santa Monica CA 90404 Marc Steigleder, Handyman Handyman 5/2/2016 12:00:00 AM 25.0
231 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Larry Hannan Redding CA 96003 None Unemployed 6/29/2016 12:00:00 AM 20.0

318 rows × 14 columns

Now let's limit it to the top 10.


In [23]:
table.sort_values("AMOUNT", ascending=False).head(10)


Out[23]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
202 1982136 1376077 Californians for Sensible Reform, Sponsored by... SUPPORT 0 NaN Ghost Management Group, LLC dba Weedmaps Irvine CA 92618 NaN NaN 4/16/2015 12:00:00 AM 1000000.0
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
247 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 2.00E+04 NaN NaN 4/1/2016 12:00:00 AM 500000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
134 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/26/2016 12:00:00 AM 420000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
133 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/3/2016 12:00:00 AM 300000.0

What is the total sum of contributions that have been reported?

First, let's get our hands on the column with our numbers in it. In pandas you can do that like so.


In [24]:
table['AMOUNT']


Out[24]:
0        10975.5
1        15000.0
2          100.0
3          250.0
4          100.0
5          100.0
6         2500.0
7          100.0
8          100.0
9           25.0
10          75.0
11        2500.0
12         100.0
13         200.0
14         100.0
15         100.0
16         100.0
17         100.0
18         110.0
19          75.0
20         100.0
21         100.0
22         200.0
23         100.0
24         100.0
25        2500.0
26         100.0
27         100.0
28         200.0
29         100.0
         ...    
288        100.0
289        100.0
290        100.0
291        100.0
292       5000.0
293        150.0
294      36000.0
295        100.0
296        100.0
297        150.0
298        200.0
299       5000.0
300      18150.0
301      10000.0
302        100.0
303        500.0
304     250000.0
305     500000.0
306     250000.0
307    1000000.0
308     250000.0
309     250000.0
310     550000.0
311     420000.0
312     550000.0
313     420000.0
314      14000.0
315      35000.0
316     120000.0
317      45000.0
Name: AMOUNT, dtype: float64

Now adding it up is this easy.


In [25]:
table['AMOUNT'].sum()


Out[25]:
10657005.5

There's our big total. Why is it lower than the ones I quoted above? That's because campaigns are only required to report the names of donors over $200, so our data is missing all of the donors who gave smaller amounts of money.

The overall totals are reported elsewhere in lump sums and cannot be replicated by adding up the individual contributions. Understanding this is crucial to understanding not just this data, but all campaign finance data, which typically has this limitation.

Filtering

Adding up a big total is all well and good. But we're aiming for something more nuanced. We want to separate the money for the proposition from the money against it. To do that, we'll need to learn how to filter.

First let's look at the column we're going to filter by


In [26]:
table['COMMITTEE_POSITION']


Out[26]:
0      SUPPORT
1      SUPPORT
2      SUPPORT
3      SUPPORT
4      SUPPORT
5      SUPPORT
6      SUPPORT
7      SUPPORT
8      SUPPORT
9      SUPPORT
10     SUPPORT
11     SUPPORT
12     SUPPORT
13     SUPPORT
14     SUPPORT
15     SUPPORT
16     SUPPORT
17     SUPPORT
18     SUPPORT
19     SUPPORT
20     SUPPORT
21     SUPPORT
22     SUPPORT
23     SUPPORT
24     SUPPORT
25     SUPPORT
26     SUPPORT
27     SUPPORT
28     SUPPORT
29     SUPPORT
        ...   
288     OPPOSE
289     OPPOSE
290     OPPOSE
291     OPPOSE
292     OPPOSE
293     OPPOSE
294     OPPOSE
295     OPPOSE
296     OPPOSE
297     OPPOSE
298     OPPOSE
299     OPPOSE
300     OPPOSE
301     OPPOSE
302     OPPOSE
303     OPPOSE
304    SUPPORT
305    SUPPORT
306    SUPPORT
307    SUPPORT
308    SUPPORT
309    SUPPORT
310    SUPPORT
311    SUPPORT
312    SUPPORT
313    SUPPORT
314     OPPOSE
315     OPPOSE
316     OPPOSE
317     OPPOSE
Name: COMMITTEE_POSITION, dtype: object

Now let's filter using that column using pandas oddball method


In [27]:
table[table['COMMITTEE_POSITION'] == 'SUPPORT']


Out[27]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
0 1680042 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action Committee to Tax and Regula... Sacramento CA 95815 NaN NaN 1/3/2012 12:00:00 AM 10975.5
1 1937009 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Luke Sinquefield Pacific Palisades CA 90272 Luke Sinquefield Realtor 7/25/2014 12:00:00 AM 15000.0
2 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Susan Podolsky Modesto CA 95350 Ontario Base Hospital Group Physician 3/21/2016 12:00:00 AM 100.0
3 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Philip Davis Salinas CA 93901 Monterey County Office of Education Education 3/21/2016 12:00:00 AM 250.0
4 2038717 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 1 Kevin Herbert San Francisco CA 94110 Platina Systems Corporation Principal Software Engineer 3/31/2016 12:00:00 AM 100.0
5 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jessica McElfresh Rancho Santa Fe CA 92019 Jessica McElfresh Attorney 6/7/2016 12:00:00 AM 100.0
6 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Patrick McManamon Westlake OH 44145 Cannasure Insurance Services, LLC Chief Executive Officer 6/17/2016 12:00:00 AM 2500.0
7 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Maureen McNamara Denver CO 80211 Cannabis Trainers Training 6/27/2016 12:00:00 AM 100.0
8 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Evan Metz Miami FL 33179 ECA Solutions Business Development 6/27/2016 12:00:00 AM 100.0
9 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/17/2016 12:00:00 AM 25.0
10 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bruce Milligan Bellevue WA 98005 Mobius Beverage Corporation Founder 6/19/2016 12:00:00 AM 75.0
11 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN MJ Freeway, LLC Denver CO 80202 NaN NaN 6/13/2016 12:00:00 AM 2500.0
12 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Bob Morgan Chicago IL 60015 Much Shelist, P.C. Attorney 6/20/2016 12:00:00 AM 100.0
13 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Mountain High Suckers Denver CO 80223 NaN NaN 6/24/2016 12:00:00 AM 200.0
14 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ellen Moy Torrance CA 90504 Ellen Moy Attorney 6/24/2016 12:00:00 AM 100.0
15 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Thomas Mundell Bridgeton MO 63044 n/a Retired 6/14/2016 12:00:00 AM 100.0
16 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 David Muret Seattle WA 98104 Viridian Staffing Co-Founder 6/16/2016 12:00:00 AM 100.0
17 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Genifer Murray Scottsdale AZ 85260 Carbon Blue Consulting Owner 6/27/2016 12:00:00 AM 100.0
18 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 5/5/2016 12:00:00 AM 110.0
19 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ethan Nadelmann New York NY 10023 Drug Policy Alliance Executive Director 6/7/2016 12:00:00 AM 75.0
20 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Elizabeth Nichols Edmond OK 73034 Rosebud Attorney 6/24/2016 12:00:00 AM 100.0
21 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Ken Novak Palo Alto CA 94303 Ken Novak Consultant 6/7/2016 12:00:00 AM 100.0
22 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Katie O'Block Boulder CO 80301 Surna, Inc. Marketing 6/17/2016 12:00:00 AM 200.0
23 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Adam Orens Denver CO 80202 Marijuana Policy Group Consultant 6/20/2016 12:00:00 AM 100.0
24 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Milan Patel Scottsdale AZ 85260 Pathogen DX Chief Executive Officer 6/24/2016 12:00:00 AM 100.0
25 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Emily Paxhia San Francisco CA 94117 Poseidon Asset Management Investments 6/17/2016 12:00:00 AM 2500.0
26 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Nancy Pemberton Sebastopol CA 95473 Nancy Pemberton Analyst 6/29/2016 12:00:00 AM 100.0
27 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jon Perri San Francisco CA 94115 Change.org Campaigns Director 6/9/2016 12:00:00 AM 100.0
28 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 Jessica Peters Oakland CA 94601 Moxie Meds President 6/16/2016 12:00:00 AM 200.0
29 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 William Pletcher Downers Grove IL 60516 MCAH, LTD. President 6/27/2016 12:00:00 AM 100.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
250 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Simon Plant Goleta CA 93117 None Unemployed 5/6/2016 12:00:00 AM 100.0
251 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Nicholas Pritzker San Francisco CA 94129 Tao Capital Partners, LLC Chairman 4/18/2016 12:00:00 AM 250000.0
252 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Richard Probst Los Altos CA 94024 SAP Executive 5/12/2016 12:00:00 AM 100.0
253 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Jonathan Richter Auburn CA 95603 Richard A. Ciummo & Associates Attorney 5/9/2016 12:00:00 AM 100.0
254 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Barry Rubinow West Hills CA 91304 None Film Editor 5/5/2016 12:00:00 AM 100.0
255 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Harris Schneiderman Las Vegas NV 89169 H Tech Solutions Chief Executive Officer 6/29/2016 12:00:00 AM 500.0
256 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 David Shirley Oakland CA 94609 Apteligent Engineer 5/5/2016 12:00:00 AM 100.0
257 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Kent Sokolow Pasadena CA 91105 KenCott Manor Honda Dealer 5/15/2016 12:00:00 AM 100.0
258 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Marc Steigleder Santa Monica CA 90404 Marc Steigleder, Handyman Handyman 5/2/2016 12:00:00 AM 25.0
259 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Marc Steigleder Santa Monica CA 90404 Marc Steigleder, Handyman Handyman 6/30/2016 12:00:00 AM 100.0
260 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Lane Stewart Metairie LA 70005 None Unemployed 4/6/2016 12:00:00 AM 100.0
261 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Robert Sullivan Sacramento CA 95816 None Unemployed 4/5/2016 12:00:00 AM 100.0
262 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Carl Tennenbaum Sebastopol CA 95472 None Unemployed 5/5/2016 12:00:00 AM 100.0
263 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Terry Turner Landers CA 92285 None Unemployed 5/10/2016 12:00:00 AM 250.0
264 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 4/8/2016 12:00:00 AM 25.0
265 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 6.52E+04 Dan Viets Attorney at Law Attorney 4/15/2016 12:00:00 AM 25.0
266 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dan Viets Columbia MO 65201 Dan Viets Attorney at Law Attorney 5/17/2016 12:00:00 AM 50.0
267 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Claude Waldbaum West Hills CA 9.13E+04 None Unemployed 4/5/2016 12:00:00 AM 100.0
268 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Claude Waldbaum West Hills CA 9.13E+04 None Unemployed 5/4/2016 12:00:00 AM 50.0
269 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 Dylan Winn San Marcos CA 92069 First Data Software Engineer 4/30/2016 12:00:00 AM 100.0
304 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Sean Parker Palo Alto CA 94301 Sean Parker Foundation Chairman 1/28/2016 12:00:00 AM 250000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
306 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 1/6/2016 12:00:00 AM 250000.0
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
308 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 1/5/2016 12:00:00 AM 250000.0
309 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Drug Policy Action Oakland CA 94612 NaN NaN 2/2/2016 12:00:00 AM 250000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0

280 rows × 14 columns

Stick that in a variable


In [28]:
support_table = table[table['COMMITTEE_POSITION'] == 'SUPPORT']

So now we can ask: How many contributions does the supporting side have?


In [29]:
print len(support_table)


280

Next: What are the 10 biggest supporting contributions?


In [30]:
support_table.sort_values("AMOUNT", ascending=False).head(10)


Out[30]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
307 2063087 1382525 New Approach PAC (MPO) SUPPORT 0 Henry van Ameringen New York NY 10011 NaN Retired 6/30/2016 12:00:00 AM 1000000.0
202 1982136 1376077 Californians for Sensible Reform, Sponsored by... SUPPORT 0 NaN Ghost Management Group, LLC dba Weedmaps Irvine CA 92618 NaN NaN 4/16/2015 12:00:00 AM 1000000.0
312 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/3/2016 12:00:00 AM 550000.0
310 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/3/2016 12:00:00 AM 550000.0
247 2064423 1381808 Yes on 64, Californians to Control, Regulate a... SUPPORT 1 NaN New Approach PAC (MPO) Washington DC 2.00E+04 NaN NaN 4/1/2016 12:00:00 AM 500000.0
305 2038497 1382525 New Approach PAC (MPO) SUPPORT 0 Daniel Lewis Coral Gables FL 33146 NaN Retired 3/31/2016 12:00:00 AM 500000.0
313 2057298 1385745 Fund for Policy Reform (Nonprofit 501(C)(4)) SUPPORT 0 NaN Fund for Policy Reform Wilmington DE 19809 NaN NaN 5/26/2016 12:00:00 AM 420000.0
134 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/26/2016 12:00:00 AM 420000.0
311 2064069 1385506 Drug Policy Action - Non Profit 501c4, Yes on ... SUPPORT 0 NaN Fund for Policy Reform (nonprofit 501 (c)(4)) New York NY 10019 NaN NaN 5/26/2016 12:00:00 AM 420000.0
133 2063970 1343793 Californians for Responsible Marijuana Reform,... SUPPORT 0 NaN Drug Policy Action - Non-Profit 501c4, Yes on ... Sacramento CA 95815 NaN NaN 5/3/2016 12:00:00 AM 300000.0

Now let's ask the same questions of the opposing side.


In [31]:
oppose_table = table[table['COMMITTEE_POSITION'] == 'OPPOSE']

In [32]:
print len(oppose_table)


38

In [33]:
oppose_table.sort_values("AMOUNT", ascending=False).head(10)


Out[33]:
FILING_ID COMMITTEE_ID COMMITTEE_NAME COMMITTEE_POSITION AMEND_ID FIRST_NAME LAST_NAME CITY STATE ZIPCODE EMPLOYER OCCUPATION DATE AMOUNT
316 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/8/2016 12:00:00 AM 120000.0
317 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 6/13/2016 12:00:00 AM 45000.0
294 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN SAM ACTION, INC. NEW YORK NY 10014 NaN NaN 6/13/2016 12:00:00 AM 36000.0
315 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 5/20/2016 12:00:00 AM 35000.0
276 2040789 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN CALIF. TEAMSTERS PUBLIC AFFAIRS COUNCIL ISSUES... SACRAMENTO CA 95814 NaN NaN 3/9/2016 12:00:00 AM 25000.0
300 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN SAM ACTION, INC. NEW YORK NY 10014 NaN NaN 6/29/2016 12:00:00 AM 18150.0
314 2064155 1387789 Sam Action, Inc., a Committee Against Proposit... OPPOSE 1 Julie Schauer Oaks PA 19456 NaN RETIRED 4/13/2016 12:00:00 AM 14000.0
279 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN LOS ANGELES COUNTY PROFESSIONAL PEACE OFFICERS... SAN DIMAS CA 91773 NaN NaN 5/27/2016 12:00:00 AM 10000.0
301 2064127 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN CALIF. STATE SHERIFFS' ASSOC. SACRAMENTO CA 95814 NaN NaN 6/30/2016 12:00:00 AM 10000.0
270 2040789 1382568 No on Prop. 64, Sponsored by California Public... OPPOSE 0 NaN CALIF. POLICE CHIEFS ASSOC. SACRAMENTO CA 95865 NaN NaN 2/8/2016 12:00:00 AM 10000.0

How about the sum total of contributions for each?


In [34]:
support_table['AMOUNT'].sum()


Out[34]:
10279855.5

In [35]:
oppose_table['AMOUNT'].sum()


Out[35]:
377150.0

Grouping

One thing we noticed as we explored the data is that there are a lot of different committees. A natural question follows: Which ones have raised the most money?

To figure that out, we'll need to group the data by that column and sum up the amount column for each. Here's how pandas does that.


In [36]:
table.groupby("COMMITTEE_NAME")['AMOUNT'].sum()


Out[36]:
COMMITTEE_NAME
Californians for Responsible Marijuana Reform, Sponsored by Drug Policy Action, Yes on Prop. 64                                                                                                       807135.5
Californians for Sensible Reform, Sponsored by Ghost Management Group, LLC dba Weedmaps                                                                                                              1000000.0
Drug Policy Action - Non Profit 501c4, Yes on Prop. 64                                                                                                                                               1470000.0
Fund for Policy Reform (Nonprofit 501(C)(4))                                                                                                                                                          970000.0
Marijuana Policy Project of California                                                                                                                                                                525300.0
New Approach PAC (MPO)                                                                                                                                                                               2000000.0
No on Prop. 64, Sponsored by California Public Safety Institute                                                                                                                                       163150.0
Sam Action, Inc., a Committee Against Proposition 64 with Help from Citizens (NonProfit 501(C)(4))                                                                                                    214000.0
Yes on 64, Californians to Control, Regulate and Tax Adult Use of Marijuana While Protecting Children, Sponsored by Business, Physicians, Environmental and Social-Justice Advocate Organizations    3507420.0
Name: AMOUNT, dtype: float64

Wow. That's pretty ugly. Why? Because pandas is weird.

To convert a raw dump like that into a clean table (known in pandas slang as a "dataframe") you can add the reset_index method to the end of your code. Don't ask why.


In [37]:
table.groupby("COMMITTEE_NAME")['AMOUNT'].sum().reset_index()


Out[37]:
COMMITTEE_NAME AMOUNT
0 Californians for Responsible Marijuana Reform,... 807135.5
1 Californians for Sensible Reform, Sponsored by... 1000000.0
2 Drug Policy Action - Non Profit 501c4, Yes on ... 1470000.0
3 Fund for Policy Reform (Nonprofit 501(C)(4)) 970000.0
4 Marijuana Policy Project of California 525300.0
5 New Approach PAC (MPO) 2000000.0
6 No on Prop. 64, Sponsored by California Public... 163150.0
7 Sam Action, Inc., a Committee Against Proposit... 214000.0
8 Yes on 64, Californians to Control, Regulate a... 3507420.0

Now let's sort it by size


In [38]:
table.groupby("COMMITTEE_NAME")['AMOUNT'].sum().reset_index().sort_values("AMOUNT", ascending=False)


Out[38]:
COMMITTEE_NAME AMOUNT
8 Yes on 64, Californians to Control, Regulate a... 3507420.0
5 New Approach PAC (MPO) 2000000.0
2 Drug Policy Action - Non Profit 501c4, Yes on ... 1470000.0
1 Californians for Sensible Reform, Sponsored by... 1000000.0
3 Fund for Policy Reform (Nonprofit 501(C)(4)) 970000.0
0 Californians for Responsible Marijuana Reform,... 807135.5
4 Marijuana Policy Project of California 525300.0
7 Sam Action, Inc., a Committee Against Proposit... 214000.0
6 No on Prop. 64, Sponsored by California Public... 163150.0

Okay. Committees are good. But what about something a little more interesting. Who has given the most money?

To do that, we'll group by the two name columns at the same time.


In [39]:
table.groupby(["FIRST_NAME", "LAST_NAME"])['AMOUNT'].sum().reset_index().sort_values("AMOUNT", ascending=False)


Out[39]:
FIRST_NAME LAST_NAME AMOUNT
89 Henry van Ameringen 1000000.0
214 Sean Parker and affiliated entities 1000000.0
47 Daniel Lewis 750000.0
172 Nicholas Pritzker 500000.0
213 Sean Parker 500000.0
124 Julie Schauer 214000.0
151 Luke Sinquefield 15000.0
103 Jeremy Zachary 7500.0
135 Khurshid Khoja 3250.0
73 Emily Paxhia 2500.0
162 Michael Klein 2500.0
164 Michael Steinmetz 2500.0
218 Steve Hitter 2500.0
226 Thomas J. Reiman 2500.0
68 Doug Lanphere 2500.0
177 Patrick McManamon 2500.0
224 Terry Turner 1750.0
178 Patrick Rea 1100.0
199 Roger LaChance 1000.0
18 Beth Herman 1000.0
37 Chris Lovenko 1000.0
132 Kenneth Potstada 1000.0
101 Jeffrey Zucker 625.0
156 Mark Ainsworth 600.0
204 Ryan Hudson 500.0
217 Stephanie Kiel 500.0
102 Jennifer Gunn 500.0
87 Harris Schneiderman 500.0
65 Diane Goldstein 500.0
149 Lindsey Cimino 500.0
... ... ... ...
131 Ken Novak 100.0
133 Kent Sokolow 100.0
134 Kevin Herbert 100.0
136 Kristina Aguirre 100.0
138 Lane Stewart 100.0
140 Laura Braden Quigley 100.0
109 Joe Wilde 100.0
108 Jim Baudino 100.0
106 Jessica McElfresh 100.0
104 Jerry Rosenbaum 100.0
72 Ellen Moy 100.0
74 Eric Garris 100.0
75 Eric Nunez 100.0
76 Eric White 100.0
77 Erin Gore 100.0
78 Erin Sullivan 100.0
80 Evan Enenman 100.0
81 Evan Metz 100.0
83 Garyn Angel 100.0
84 Genifer Murray 100.0
85 Gordon Brownell 100.0
86 Gregory Gilbert 100.0
90 Hugh Hempel 100.0
91 Innokenty Oshmansky 100.0
92 JAMES DAVIS 100.0
94 James Depeyster 100.0
96 Jan Carlos Byl 100.0
97 Jazmin Hupp 100.0
99 Jeffery Mills 100.0
118 Jonathan Richter 100.0

237 rows × 3 columns

But which side where they are? Add in the position column to see that too.


In [40]:
table.groupby([
    "FIRST_NAME",
    "LAST_NAME",
    "COMMITTEE_POSITION"
])['AMOUNT'].sum().reset_index().sort_values("AMOUNT", ascending=False)


Out[40]:
FIRST_NAME LAST_NAME COMMITTEE_POSITION AMOUNT
89 Henry van Ameringen SUPPORT 1000000.0
214 Sean Parker and affiliated entities SUPPORT 1000000.0
47 Daniel Lewis SUPPORT 750000.0
172 Nicholas Pritzker SUPPORT 500000.0
213 Sean Parker SUPPORT 500000.0
124 Julie Schauer OPPOSE 214000.0
151 Luke Sinquefield SUPPORT 15000.0
103 Jeremy Zachary SUPPORT 7500.0
135 Khurshid Khoja SUPPORT 3250.0
73 Emily Paxhia SUPPORT 2500.0
162 Michael Klein SUPPORT 2500.0
164 Michael Steinmetz SUPPORT 2500.0
218 Steve Hitter SUPPORT 2500.0
226 Thomas J. Reiman SUPPORT 2500.0
68 Doug Lanphere SUPPORT 2500.0
177 Patrick McManamon SUPPORT 2500.0
224 Terry Turner SUPPORT 1750.0
178 Patrick Rea SUPPORT 1100.0
199 Roger LaChance SUPPORT 1000.0
18 Beth Herman SUPPORT 1000.0
37 Chris Lovenko SUPPORT 1000.0
132 Kenneth Potstada SUPPORT 1000.0
101 Jeffrey Zucker SUPPORT 625.0
156 Mark Ainsworth SUPPORT 600.0
204 Ryan Hudson SUPPORT 500.0
217 Stephanie Kiel SUPPORT 500.0
102 Jennifer Gunn SUPPORT 500.0
87 Harris Schneiderman SUPPORT 500.0
65 Diane Goldstein SUPPORT 500.0
149 Lindsey Cimino SUPPORT 500.0
... ... ... ... ...
131 Ken Novak SUPPORT 100.0
133 Kent Sokolow SUPPORT 100.0
134 Kevin Herbert SUPPORT 100.0
136 Kristina Aguirre SUPPORT 100.0
138 Lane Stewart SUPPORT 100.0
140 Laura Braden Quigley SUPPORT 100.0
109 Joe Wilde SUPPORT 100.0
108 Jim Baudino SUPPORT 100.0
106 Jessica McElfresh SUPPORT 100.0
104 Jerry Rosenbaum SUPPORT 100.0
72 Ellen Moy SUPPORT 100.0
74 Eric Garris SUPPORT 100.0
75 Eric Nunez OPPOSE 100.0
76 Eric White SUPPORT 100.0
77 Erin Gore SUPPORT 100.0
78 Erin Sullivan SUPPORT 100.0
80 Evan Enenman SUPPORT 100.0
81 Evan Metz SUPPORT 100.0
83 Garyn Angel SUPPORT 100.0
84 Genifer Murray SUPPORT 100.0
85 Gordon Brownell SUPPORT 100.0
86 Gregory Gilbert SUPPORT 100.0
90 Hugh Hempel SUPPORT 100.0
91 Innokenty Oshmansky SUPPORT 100.0
92 JAMES DAVIS OPPOSE 100.0
94 James Depeyster SUPPORT 100.0
96 Jan Carlos Byl SUPPORT 100.0
97 Jazmin Hupp SUPPORT 100.0
99 Jeffery Mills SUPPORT 100.0
118 Jonathan Richter SUPPORT 100.0

237 rows × 4 columns

Pretty cool, right? Now now that we've got this interesting list of people, let's see if we can make a chart out of it.

Act 5: Hello viz

Python has a number of charting tools that can work hand in hand with pandas. The most popular is matplotlib. It isn't the prettiest thing in the world, but it offers some reasonably straightfoward tools for making quick charts. And, best of all, it can display right here in our Jupyter Notebook.

Before we start, we'll need to make sure matplotlib is installed. Return to your terminal and try installing it with our buddy pip, as we installed other things before.

pip install matplotlib

Once you've got it in here, you can import it just as we would anything else. Though by adding the optional as option at the end we can create a shorter alias for accessing its tools.


In [41]:
import matplotlib.pyplot as plt

Before we'll get started, let's run one more trick to configure matplotlib to show its charts in our notebook.


In [42]:
%matplotlib inline

Now let's save the data we want to chart into a variable


In [43]:
top_supporters = support_table.groupby(
    ["FIRST_NAME", "LAST_NAME"]
)['AMOUNT'].sum().reset_index().sort_values("AMOUNT", ascending=False).head(10)

In [44]:
top_supporters


Out[44]:
FIRST_NAME LAST_NAME AMOUNT
83 Henry van Ameringen 1000000.0
198 Sean Parker and affiliated entities 1000000.0
43 Daniel Lewis 750000.0
197 Sean Parker 500000.0
162 Nicholas Pritzker 500000.0
142 Luke Sinquefield 15000.0
96 Jeremy Zachary 7500.0
126 Khurshid Khoja 3250.0
153 Michael Klein 2500.0
63 Doug Lanphere 2500.0

Making a quick bar chart is as easy as this.


In [45]:
top_supporters['AMOUNT'].plot.bar()


Out[45]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd6a2407dd0>

In [46]:
top_supporters['AMOUNT'].plot.barh()


Out[46]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd6a2373fd0>

It's really those first five that are the most interesting, so let's trim our chart.


In [47]:
top_supporters.head(5)['AMOUNT'].plot.barh()


Out[47]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fd6a2267a50>

What are those y axis labels? Those are the row number (pandas calls them indexes) of each row. We don't want that. We want the names.


In [48]:
chart = top_supporters.head(5)['AMOUNT'].plot.barh()
chart.set_yticklabels(top_supporters['LAST_NAME'])


Out[48]:
[<matplotlib.text.Text at 0x7fd6a1feead0>,
 <matplotlib.text.Text at 0x7fd6a1fd9810>,
 <matplotlib.text.Text at 0x7fd6a1f51810>,
 <matplotlib.text.Text at 0x7fd6a1f51f10>,
 <matplotlib.text.Text at 0x7fd6a1f5c690>]

Okay, but what if I want to combine the first and last name?

First, make a new column. First let's look at what we have now.


In [49]:
top_supporters.head(5)


Out[49]:
FIRST_NAME LAST_NAME AMOUNT
83 Henry van Ameringen 1000000.0
198 Sean Parker and affiliated entities 1000000.0
43 Daniel Lewis 750000.0
197 Sean Parker 500000.0
162 Nicholas Pritzker 500000.0

In plain old Python, we created a string at the start of our less. Remember this?


In [50]:
print string


Hello

Combining strings can be as easy as addition.


In [51]:
print string + "World"


HelloWorld

And if we want to get a space in there yet we can do something like:


In [52]:
print string + " " + "World"


Hello World

And guess what we can do the same thing with two columns in our table, and use a pandas trick that will apply it to every row.


In [53]:
top_supporters['FULL_NAME'] = top_supporters['FIRST_NAME'] + " " + top_supporters['LAST_NAME']

Now let's see the results


In [54]:
top_supporters.head()


Out[54]:
FIRST_NAME LAST_NAME AMOUNT FULL_NAME
83 Henry van Ameringen 1000000.0 Henry van Ameringen
198 Sean Parker and affiliated entities 1000000.0 Sean Parker and affiliated entities
43 Daniel Lewis 750000.0 Daniel Lewis
197 Sean Parker 500000.0 Sean Parker
162 Nicholas Pritzker 500000.0 Nicholas Pritzker

Now let's chart that.


In [55]:
chart = top_supporters.head(5)['AMOUNT'].plot.barh()
chart.set_yticklabels(top_supporters['FULL_NAME'])


Out[55]:
[<matplotlib.text.Text at 0x7fd6a1f28050>,
 <matplotlib.text.Text at 0x7fd6a1f3d750>,
 <matplotlib.text.Text at 0x7fd6a1da09d0>,
 <matplotlib.text.Text at 0x7fd6a1dae110>,
 <matplotlib.text.Text at 0x7fd6a1dae850>]

That's all well and good, but this chart is pretty ugly. If you wanted to hand this data off to your graphics department, or try your hand at a simple chart yourself using something like Chartbuilder, you'd need to export this data into a spreadsheet.

It's this easy.


In [56]:
top_supporters.head(5).to_csv("top_supporters.csv")

And that's it. You've completed this class. If you want to keep working, try inventing your own questions to ask and answer with the database.