{
"metadata": {
"name": "PandasTesting1"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"from pandas import DataFrame, Series"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_dict = {'name': ['Caleb','Whitney','Hastin','Rafe'], \n",
" 'age': [27,26,3,1],\n",
" 'sex': ['M','F','M','M']}"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame = DataFrame(data_dict)\n",
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 26,
"text": [
" age name sex\n",
"0 27 Caleb M\n",
"1 26 Whitney F\n",
"2 3 Hastin M\n",
"3 1 Rafe M"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame[frame.age > 18]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 27,
"text": [
" age name sex\n",
"0 27 Caleb M\n",
"1 26 Whitney F"
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"Average age:\", frame.age.mean()\n",
"print \"Age standard deviation:\", frame.age.std()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Average age: 14.25\n",
"Age standard deviation: 14.174507634\n"
]
}
],
"prompt_number": 28
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.name # Selecting a column returns a Series"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 29,
"text": [
"0 Caleb\n",
"1 Whitney\n",
"2 Hastin\n",
"3 Rafe\n",
"Name: name, dtype: object"
]
}
],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.ix[[0,1]] # Selecting by index"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 30,
"text": [
" age name sex\n",
"0 27 Caleb M\n",
"1 26 Whitney F"
]
}
],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.ix[2] # Selecting just 1 row returns a Series"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "pyout",
"prompt_number": 31,
"text": [
"age 3\n",
"name Hastin\n",
"sex M\n",
"Name: 2, dtype: object"
]
}
],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame['state'] = 'Wisconsin'\n",
"frame['country'] = 'USA'\n",
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
" country | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 32,
"text": [
" age name sex state country\n",
"0 27 Caleb M Wisconsin USA\n",
"1 26 Whitney F Wisconsin USA\n",
"2 3 Hastin M Wisconsin USA\n",
"3 1 Rafe M Wisconsin USA"
]
}
],
"prompt_number": 32
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.drop('country', axis=1) # Creates a copy, doesn't change frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 33,
"text": [
" age name sex state\n",
"0 27 Caleb M Wisconsin\n",
"1 26 Whitney F Wisconsin\n",
"2 3 Hastin M Wisconsin\n",
"3 1 Rafe M Wisconsin"
]
}
],
"prompt_number": 33
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame = frame.append({'age': 22, 'name': 'Wes', 'sex': 'M'}, ignore_index=True)\n",
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
" country | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
" USA | \n",
"
\n",
" \n",
" 4 | \n",
" 22 | \n",
" Wes | \n",
" M | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 34,
"text": [
" age name sex state country\n",
"0 27 Caleb M Wisconsin USA\n",
"1 26 Whitney F Wisconsin USA\n",
"2 3 Hastin M Wisconsin USA\n",
"3 1 Rafe M Wisconsin USA\n",
"4 22 Wes M NaN NaN"
]
}
],
"prompt_number": 34
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame = frame.drop('country', axis=1)\n",
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 4 | \n",
" 22 | \n",
" Wes | \n",
" M | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 35,
"text": [
" age name sex state\n",
"0 27 Caleb M Wisconsin\n",
"1 26 Whitney F Wisconsin\n",
"2 3 Hastin M Wisconsin\n",
"3 1 Rafe M Wisconsin\n",
"4 22 Wes M NaN"
]
}
],
"prompt_number": 35
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.ix[4]['state'] = 'Illinois'\n",
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 4 | \n",
" 22 | \n",
" Wes | \n",
" M | \n",
" Illinois | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 36,
"text": [
" age name sex state\n",
"0 27 Caleb M Wisconsin\n",
"1 26 Whitney F Wisconsin\n",
"2 3 Hastin M Wisconsin\n",
"3 1 Rafe M Wisconsin\n",
"4 22 Wes M Illinois"
]
}
],
"prompt_number": 36
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.pivot(index='name', columns='state', values='age')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" state | \n",
" Illinois | \n",
" Wisconsin | \n",
"
\n",
" \n",
" name | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" Caleb | \n",
" NaN | \n",
" 27 | \n",
"
\n",
" \n",
" Hastin | \n",
" NaN | \n",
" 3 | \n",
"
\n",
" \n",
" Rafe | \n",
" NaN | \n",
" 1 | \n",
"
\n",
" \n",
" Wes | \n",
" 22 | \n",
" NaN | \n",
"
\n",
" \n",
" Whitney | \n",
" NaN | \n",
" 26 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 37,
"text": [
"state Illinois Wisconsin\n",
"name \n",
"Caleb NaN 27\n",
"Hastin NaN 3\n",
"Rafe NaN 1\n",
"Wes 22 NaN\n",
"Whitney NaN 26"
]
}
],
"prompt_number": 37
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.ix[[2,3], ['name','age']]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" name | \n",
" age | \n",
"
\n",
" \n",
" \n",
" \n",
" 2 | \n",
" Hastin | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" Rafe | \n",
" 1 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 38,
"text": [
" name age\n",
"2 Hastin 3\n",
"3 Rafe 1"
]
}
],
"prompt_number": 38
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" age | \n",
" name | \n",
" sex | \n",
" state | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 27 | \n",
" Caleb | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 1 | \n",
" 26 | \n",
" Whitney | \n",
" F | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" Hastin | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" Rafe | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 4 | \n",
" 22 | \n",
" Wes | \n",
" M | \n",
" Illinois | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 39,
"text": [
" age name sex state\n",
"0 27 Caleb M Wisconsin\n",
"1 26 Whitney F Wisconsin\n",
"2 3 Hastin M Wisconsin\n",
"3 1 Rafe M Wisconsin\n",
"4 22 Wes M Illinois"
]
}
],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"frame.ix[:, ['name','age','sex','state']] # Nice way to do column reindexing"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" name | \n",
" age | \n",
" sex | \n",
" state | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Caleb | \n",
" 27 | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 1 | \n",
" Whitney | \n",
" 26 | \n",
" F | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 2 | \n",
" Hastin | \n",
" 3 | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 3 | \n",
" Rafe | \n",
" 1 | \n",
" M | \n",
" Wisconsin | \n",
"
\n",
" \n",
" 4 | \n",
" Wes | \n",
" 22 | \n",
" M | \n",
" Illinois | \n",
"
\n",
" \n",
"
\n",
"
"
],
"output_type": "pyout",
"prompt_number": 40,
"text": [
" name age sex state\n",
"0 Caleb 27 M Wisconsin\n",
"1 Whitney 26 F Wisconsin\n",
"2 Hastin 3 M Wisconsin\n",
"3 Rafe 1 M Wisconsin\n",
"4 Wes 22 M Illinois"
]
}
],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
}
],
"metadata": {}
}
]
}