Skip to content

Instantly share code, notes, and snippets.

@kalharbi
Created September 25, 2016 17:04
Show Gist options
  • Save kalharbi/4ccc181a225a0678242e042aec31b823 to your computer and use it in GitHub Desktop.
Save kalharbi/4ccc181a225a0678242e042aec31b823 to your computer and use it in GitHub Desktop.
Python Pandas - Expand cells containing lists into columns (dummy/indicator matrix)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pandas Transformation\n",
"## Expand cells containing lists into columns (dummy/indicator matrix)\n",
"\n",
"**Problem:** The following dataframe has a column named pets which has a list of distinct values.\n",
"We want to convert each item in the list into a column and set indicator variables (0 and 1) that\n",
"denote the presence or absence of the column in each row.\n",
"\n",
"This approach is taken from the great book of Wes McKinney, Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. O'Reilly Media, Inc., 2012."
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>owner</th>\n",
" <th>pets</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>[cat, dog, rabbit]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>[cat, fish]</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>[dog, bird, hamster]</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" owner pets\n",
"0 1 [cat, dog, rabbit]\n",
"1 2 [cat, fish]\n",
"2 3 [dog, bird, hamster]"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# create the dataset in a dataframe\n",
"raw_data = {'owner': [1,2,3], \n",
" 'pets': [['cat','dog','rabbit'],['cat','fish'], ['dog','bird', 'hamster']]}\n",
"df = pd.DataFrame(raw_data, columns = ['owner', 'pets'])\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"['bird', 'cat', 'dog', 'fish', 'hamster', 'rabbit']"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 1- Extract a list of unique values from the pets column\n",
"pets_iter = (set(p) for p in df.pets)\n",
"pets = sorted(set.union(*pets_iter))\n",
"pets"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>bird</th>\n",
" <th>cat</th>\n",
" <th>dog</th>\n",
" <th>fish</th>\n",
" <th>hamster</th>\n",
" <th>rabbit</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" bird cat dog fish hamster rabbit\n",
"0 0 0 0 0 0 0\n",
"1 0 0 0 0 0 0\n",
"2 0 0 0 0 0 0"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 2- Create a dummy dataset and initialize it with zeros\n",
"dummies = pd.DataFrame(np.zeros((len(df), len(pets)), dtype=np.int), columns=pets)\n",
"dummies"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>bird</th>\n",
" <th>cat</th>\n",
" <th>dog</th>\n",
" <th>fish</th>\n",
" <th>hamster</th>\n",
" <th>rabbit</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" bird cat dog fish hamster rabbit\n",
"0 0 1 1 0 0 1\n",
"1 0 1 0 1 0 0\n",
"2 1 0 1 0 1 0"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 3- iterate through the original dataframe and set entries in each row of the dummy to 1\n",
"for i, pet in enumerate(df.pets):\n",
" dummies.ix[i, pet] = 1\n",
"dummies"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10cca65f8>"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ccb3198>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Create a simple bar chart plot\n",
"dummies.sum().plot(kind='bar')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment