Skip to content

Instantly share code, notes, and snippets.

@fonnesbeck
Created January 15, 2015 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fonnesbeck/65bb3b11627460a131fb to your computer and use it in GitHub Desktop.
Save fonnesbeck/65bb3b11627460a131fb to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import pandas as pd\n",
"import numpy as np\n",
"import pylab as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Shannon-Weiner index was developed from information theory and is based on measuring uncertainty. The degree of uncertainty of predicting the species of a random sample is related to the diversity of a community. If a community is dominated by one species (low diversity), the uncertainty of prediction is low; a randomly-sampled species is most likely going to be the dominant species. However, if diversity is high, uncertainty is high.\n",
"\n",
"$$H' = \\sum_i p_i \\log(p_i)$$\n",
"\n",
"This function calculates Shannon diversity:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Shannon index\n",
"shannon = lambda x: -np.sum([p*np.log(p) for p in x/float(sum(x)) if p])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Simpson index (1949) measures the degree of concentration when individuals are classified into types. It is based on the expected outcome of two random samples from the same community:\n",
"\n",
"$$D = \\frac{N(N-1)}{\\sum_i n_i (n_i-1)}$$\n",
"\n",
"This function calculates Simpson's index of diversity:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"simpsons = lambda x: sum(x)*(sum(x)-1)/np.sum([float(n-1)*n for n in x if n])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Genus-level diversity"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>level_0</th>\n",
" <th>Taxon</th>\n",
" <th>0</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> N3s</td>\n",
" <td> Bacteria;Acidobacteria;Acidobacteria_Gp16;Gp16...</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> N3s</td>\n",
" <td> Bacteria;Acidobacteria;Acidobacteria_Gp6;Gp6;O...</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> N3s</td>\n",
" <td> Bacteria;Actinobacteria;Actinobacteria;Acidimi...</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> N3s</td>\n",
" <td> Bacteria;Actinobacteria;Actinobacteria;Acidimi...</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> N3s</td>\n",
" <td> Bacteria;Actinobacteria;Actinobacteria;Actinom...</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" level_0 Taxon 0\n",
"0 N3s Bacteria;Acidobacteria;Acidobacteria_Gp16;Gp16... 0\n",
"1 N3s Bacteria;Acidobacteria;Acidobacteria_Gp6;Gp6;O... 0\n",
"2 N3s Bacteria;Actinobacteria;Actinobacteria;Acidimi... 0\n",
"3 N3s Bacteria;Actinobacteria;Actinobacteria;Acidimi... 0\n",
"4 N3s Bacteria;Actinobacteria;Actinobacteria;Actinom... 0"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"genus_raw = pd.read_excel('OTU.xlsx', 'L5', index_col=0).unstack().reset_index()\n",
"genus_raw.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"taxa = genus_raw.Taxon.unique()\n",
"taxa_dict = dict(zip(taxa, range(len(taxa))))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"genus_raw.Taxon.replace(taxa_dict, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"genus_raw['nec'] = genus_raw.level_0.apply(lambda x: x.startswith('N'))\n",
"genus_raw['stool'] = genus_raw.level_0.apply(lambda x: x.endswith('s'))\n",
"genus_raw['patient'] = genus_raw.level_0.apply(lambda x: int(''.join([s for s in x if s.isdigit()])))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"genus_data = genus_raw.drop('level_0', axis=1)\n",
"genus_data.columns = 'taxon', 'count', 'nec', 'stool', 'patient'"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>taxon</th>\n",
" <th>count</th>\n",
" <th>nec</th>\n",
" <th>stool</th>\n",
" <th>patient</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>16425</th>\n",
" <td> 305</td>\n",
" <td> 0</td>\n",
" <td> True</td>\n",
" <td> False</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16426</th>\n",
" <td> 306</td>\n",
" <td> 0</td>\n",
" <td> True</td>\n",
" <td> False</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16427</th>\n",
" <td> 307</td>\n",
" <td> 0</td>\n",
" <td> True</td>\n",
" <td> False</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16428</th>\n",
" <td> 308</td>\n",
" <td> 0</td>\n",
" <td> True</td>\n",
" <td> False</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16429</th>\n",
" <td> 309</td>\n",
" <td> 0</td>\n",
" <td> True</td>\n",
" <td> False</td>\n",
" <td> 2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" taxon count nec stool patient\n",
"16425 305 0 True False 2\n",
"16426 306 0 True False 2\n",
"16427 307 0 True False 2\n",
"16428 308 0 True False 2\n",
"16429 309 0 True False 2"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"genus_data.tail()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparison of tissue diversity in NEC vs control"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n",
"/w9iEESw8Hg8aQAAAABJRU5ErkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x1100ae0f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"tissue_data = genus_data[genus_data.stool==False]\n",
"simpsons_tissue = tissue_data.groupby(['patient', 'nec'])['count'].aggregate(simpsons)\n",
"simpsons_tissue.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Simpson\\'s index');"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n",
"7v8DMC9Pz4RA2pAAAAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x110371748>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"shannon_tissue = tissue_data.groupby(['patient', 'nec'])['count'].aggregate(shannon)\n",
"shannon_tissue.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Shannon index');"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n",
"AAAAAElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x110538358>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Chao 1 index\n",
"chao = lambda x: len(x) + ((x==1).sum())**2/(2 * (x==2).sum())\n",
"\n",
"chao_tissue = tissue_data.groupby(['patient', 'nec'])['count'].aggregate(chao)\n",
"chao_tissue.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Chao index');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Comparison of stool diversity in NEC vs control"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n",
"/wNDyEdTUYYX0gAAAABJRU5ErkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x110681fd0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"stool_data = genus_data[genus_data.stool==True]\n",
"\n",
"simpsons_stool = stool_data.groupby(['patient', 'nec'])['count'].aggregate(simpsons)\n",
"simpsons_stool.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Simpson\\'s index');"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x10fece550>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"shannon_stool = stool_data.groupby(['patient', 'nec'])['count'].aggregate(shannon)\n",
"shannon_stool.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Shannon index');"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python3.4/site-packages/pandas/tools/plotting.py:2625: FutureWarning: \n",
"The default value for 'return_type' will change to 'axes' in a future release.\n",
" To use the future behavior now, set return_type='axes'.\n",
" To keep the previous behavior and silence this warning, set return_type='dict'.\n",
" warnings.warn(msg, FutureWarning)\n"
]
},
{
"data": {
"image/png": [
"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\n",
"TeMSGIEAAAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x11036e470>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"chao_stool = stool_data.groupby(['patient', 'nec'])['count'].aggregate(chao)\n",
"chao_stool.unstack().rename(columns={False: 'Control', True: 'NEC'}).boxplot(grid=False)\n",
"plt.ylabel('Chao index');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Line plots of tissue vs stool diversity in NEC samples"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>stool</th>\n",
" <th>Tissue</th>\n",
" <th>Stool</th>\n",
" </tr>\n",
" <tr>\n",
" <th>patient</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> 3.186187</td>\n",
" <td> 2.501635</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> 1.145031</td>\n",
" <td> 1.240411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> 13.310545</td>\n",
" <td> 1.860451</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> 4.025034</td>\n",
" <td> 2.144758</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 3.065582</td>\n",
" <td> 3.627015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> 1.052006</td>\n",
" <td> 1.123837</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> 9.209903</td>\n",
" <td> 3.456548</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> 2.006315</td>\n",
" <td> 1.995825</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> 2.105499</td>\n",
" <td> 1.054506</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> 2.077362</td>\n",
" <td> 3.399880</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"stool Tissue Stool\n",
"patient \n",
"1 3.186187 2.501635\n",
"2 1.145031 1.240411\n",
"3 13.310545 1.860451\n",
"4 4.025034 2.144758\n",
"5 3.065582 3.627015\n",
"7 1.052006 1.123837\n",
"8 9.209903 3.456548\n",
"9 2.006315 1.995825\n",
"10 2.105499 1.054506\n",
"11 2.077362 3.399880"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"simpsons_nec = genus_data[genus_data.nec==True].groupby(['patient','stool'])['count'].aggregate(simpsons)\n",
"simpsons_nec.unstack().rename(columns={False: 'Tissue', True: 'Stool'}).dropna()"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"22"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(simpsons_nec)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def plot_bipartite(data, label):\n",
" axes = data.unstack().rename(columns={False: 'Tissue', True: 'Stool'}).dropna().T.plot(grid=False, \n",
" color='k', \n",
" style='.-',\n",
" legend=False)\n",
" axes.set_xlim(-0.1, 1.1)\n",
" axes.set_xticks([0,1])\n",
" axes.set_xticklabels(['Tissue', 'Stool'])\n",
" axes.set_ylabel(label)\n",
" axes.set_xlabel('')"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x110a6bf28>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_bipartite(simpsons_nec, 'Simpson\\'s index')"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>stool</th>\n",
" <th>Tissue</th>\n",
" <th>Stool</th>\n",
" </tr>\n",
" <tr>\n",
" <th>patient</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> 1.553132</td>\n",
" <td> 1.148086</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> 0.370677</td>\n",
" <td> 0.431641</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> 3.026228</td>\n",
" <td> 1.194941</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> 1.942193</td>\n",
" <td> 0.907746</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 1.983316</td>\n",
" <td> 1.532137</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> 0.150379</td>\n",
" <td> 0.266457</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> 2.678588</td>\n",
" <td> 1.609806</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> 0.787423</td>\n",
" <td> 1.099322</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> 0.875270</td>\n",
" <td> 0.125509</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> 0.988443</td>\n",
" <td> 1.674464</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"stool Tissue Stool\n",
"patient \n",
"1 1.553132 1.148086\n",
"2 0.370677 0.431641\n",
"3 3.026228 1.194941\n",
"4 1.942193 0.907746\n",
"5 1.983316 1.532137\n",
"7 0.150379 0.266457\n",
"8 2.678588 1.609806\n",
"9 0.787423 1.099322\n",
"10 0.875270 0.125509\n",
"11 0.988443 1.674464"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shannon_nec = genus_data[genus_data.nec==True].groupby(['patient','stool'])['count'].aggregate(shannon)\n",
"shannon_nec.unstack().rename(columns={False: 'Tissue', True: 'Stool'}).dropna()"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"SUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x110b5cd30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_bipartite(shannon_nec, 'Shannon index')"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>stool</th>\n",
" <th>Tissue</th>\n",
" <th>Stool</th>\n",
" </tr>\n",
" <tr>\n",
" <th>patient</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1 </th>\n",
" <td> 324.000000</td>\n",
" <td> inf</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2 </th>\n",
" <td> 314.166667</td>\n",
" <td> 342.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3 </th>\n",
" <td> 340.250000</td>\n",
" <td> 320.285714</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4 </th>\n",
" <td> 322.500000</td>\n",
" <td> 350.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 322.500000</td>\n",
" <td> 311.125000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7 </th>\n",
" <td> inf</td>\n",
" <td> 314.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8 </th>\n",
" <td> 347.785714</td>\n",
" <td> 322.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9 </th>\n",
" <td> 314.166667</td>\n",
" <td> 318.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td> 334.500000</td>\n",
" <td> 310.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td> 314.000000</td>\n",
" <td> 656.125000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"stool Tissue Stool\n",
"patient \n",
"1 324.000000 inf\n",
"2 314.166667 342.000000\n",
"3 340.250000 320.285714\n",
"4 322.500000 350.500000\n",
"5 322.500000 311.125000\n",
"7 inf 314.000000\n",
"8 347.785714 322.000000\n",
"9 314.166667 318.000000\n",
"10 334.500000 310.000000\n",
"11 314.000000 656.125000"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"chao_nec = genus_data[genus_data.nec==True].groupby(['patient','stool'])['count'].aggregate(chao)\n",
"chao_nec.unstack().rename(columns={False: 'Tissue', True: 'Stool'}).dropna()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Chao was very unstable, so I am not attempting to generate a graph."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.4.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment