{ "metadata": { "name": "", "signature": "sha256:ab64e742a8053b080efcc43a2f547a91386c9e4eadda20b422e6afd5a089ab20" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Apply Operations To Groups In Pandas\n", "\n", "- **Author:** [Chris Albon](http://www.chrisalbon.com/), [@ChrisAlbon](https://twitter.com/chrisalbon)\n", "- **Date:** -\n", "- **Repo:** [Python 3 code snippets for data science](https://github.com/chrisalbon/code_py)\n", "- **Note:**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### import modules" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 60 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create dataframe" ] }, { "cell_type": "code", "collapsed": false, "input": [ "raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'], \n", " 'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'], \n", " 'name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze', 'Jacon', 'Ryaner', 'Sone', 'Sloan', 'Piger', 'Riani', 'Ali'], \n", " 'preTestScore': [4, 24, 31, 2, 3, 4, 24, 31, 2, 3, 2, 3],\n", " 'postTestScore': [25, 94, 57, 62, 70, 25, 94, 57, 62, 70, 62, 70]}\n", "df = pd.DataFrame(raw_data, columns = ['regiment', 'company', 'name', 'preTestScore', 'postTestScore'])\n", "df" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", " | regiment | \n", "company | \n", "name | \n", "preTestScore | \n", "postTestScore | \n", "
---|---|---|---|---|---|
0 | \n", "Nighthawks | \n", "1st | \n", "Miller | \n", "4 | \n", "25 | \n", "
1 | \n", "Nighthawks | \n", "1st | \n", "Jacobson | \n", "24 | \n", "94 | \n", "
2 | \n", "Nighthawks | \n", "2nd | \n", "Ali | \n", "31 | \n", "57 | \n", "
3 | \n", "Nighthawks | \n", "2nd | \n", "Milner | \n", "2 | \n", "62 | \n", "
4 | \n", "Dragoons | \n", "1st | \n", "Cooze | \n", "3 | \n", "70 | \n", "
5 | \n", "Dragoons | \n", "1st | \n", "Jacon | \n", "4 | \n", "25 | \n", "
6 | \n", "Dragoons | \n", "2nd | \n", "Ryaner | \n", "24 | \n", "94 | \n", "
7 | \n", "Dragoons | \n", "2nd | \n", "Sone | \n", "31 | \n", "57 | \n", "
8 | \n", "Scouts | \n", "1st | \n", "Sloan | \n", "2 | \n", "62 | \n", "
9 | \n", "Scouts | \n", "1st | \n", "Piger | \n", "3 | \n", "70 | \n", "
10 | \n", "Scouts | \n", "2nd | \n", "Riani | \n", "2 | \n", "62 | \n", "
11 | \n", "Scouts | \n", "2nd | \n", "Ali | \n", "3 | \n", "70 | \n", "
12 rows \u00d7 5 columns
\n", "company | \n", "1st | \n", "2nd | \n", "
---|---|---|
regiment | \n", "\n", " | \n", " |
Dragoons | \n", "3.5 | \n", "27.5 | \n", "
Nighthawks | \n", "14.0 | \n", "16.5 | \n", "
Scouts | \n", "2.5 | \n", "2.5 | \n", "
3 rows \u00d7 2 columns
\n", "\n", " | \n", " | preTestScore | \n", "postTestScore | \n", "
---|---|---|---|
regiment | \n", "company | \n", "\n", " | \n", " |
Dragoons | \n", "1st | \n", "3.5 | \n", "47.5 | \n", "
2nd | \n", "27.5 | \n", "75.5 | \n", "|
Nighthawks | \n", "1st | \n", "14.0 | \n", "59.5 | \n", "
2nd | \n", "16.5 | \n", "59.5 | \n", "|
Scouts | \n", "1st | \n", "2.5 | \n", "66.0 | \n", "
2nd | \n", "2.5 | \n", "66.0 | \n", "
6 rows \u00d7 2 columns
\n", "\n", " | mean_preTestScore | \n", "mean_postTestScore | \n", "
---|---|---|
regiment | \n", "\n", " | \n", " |
Dragoons | \n", "15.50 | \n", "61.5 | \n", "
Nighthawks | \n", "15.25 | \n", "59.5 | \n", "
Scouts | \n", "2.50 | \n", "66.0 | \n", "
3 rows \u00d7 2 columns
\n", "\n", " | count | \n", "max | \n", "mean | \n", "min | \n", "
---|---|---|---|---|
categories | \n", "\n", " | \n", " | \n", " | \n", " |
Good | \n", "8 | \n", "70 | \n", "63.75 | \n", "57 | \n", "
Great | \n", "2 | \n", "94 | \n", "94.00 | \n", "94 | \n", "
Low | \n", "2 | \n", "25 | \n", "25.00 | \n", "25 | \n", "
3 rows \u00d7 4 columns
\n", "