{ "cells": [ { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T14:20:28.605732", "start_time": "2017-02-09T14:20:25.810350" } }, "outputs": [ { "data": { "text/html": [ " \n", "\n", "\n", " \n", "\n", "
\n", " \n", " BokehJS successfully loaded.\n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Custom libraries\n", "from datascienceutils import plotter\n", "from datascienceutils import analyze\n", "from datascienceutils import predictiveModels as pm\n", "from datascienceutils import sklearnUtils as sku\n", "\n", "from IPython.display import Image\n", "# Standard libraries\n", "import json\n", "%matplotlib inline\n", "import datetime\n", "import numpy as np\n", "import pandas as pd\n", "import random\n", "\n", "from sklearn import cross_validation\n", "from sklearn import metrics\n", "\n", "from bokeh.plotting import figure, show, output_file, output_notebook, ColumnDataSource\n", "from bokeh.charts import Histogram\n", "import bokeh\n", "output_notebook()\n", "\n", "# Set pandas display options\n", "#pd.set_option('display.width', pd.util.terminal.get_terminal_size()[0])\n", "pd.set_option('display.expand_frame_repr', False)\n", "pd.set_option('max_colwidth', 800)\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T14:56:17.528735", "start_time": "2017-02-09T14:56:17.518161" } }, "outputs": [], "source": [ "# Data set from https://archive.ics.uci.edu/ml/machine-learning-databases/hepatitis/\n", "columns = ['class', 'age', 'sex', 'steroid', 'antivirals', 'fatigue', 'malaise', 'anorexia', \n", " 'big_liver', 'firm_liver', 'palpable_spleen', 'spiders', 'ascites', 'varices', 'bilirubin',\n", " 'alk_phosphate', 'sgot', 'albumin', 'protime', 'histology']\n", "\n", "hepatitis_df = pd.read_csv('~/DataScientist/data/Hepatitis/hepatitis.data', names=columns, na_values=['?'])\n", " \n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T14:27:13.120969", "start_time": "2017-02-09T14:27:13.115893" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['1. Title: Hepatitis Domain\\n',\n", " '\\n',\n", " '2. Sources:\\n',\n", " ' (a) unknown\\n',\n", " ' (b) Donor: G.Gong (Carnegie-Mellon University) via \\n',\n", " ' Bojan Cestnik\\n',\n", " ' Jozef Stefan Institute\\n',\n", " ' Jamova 39\\n',\n", " ' 61000 Ljubljana\\n',\n", " ' Yugoslavia (tel.: (38)(+61) 214-399 ext.287) }\\n',\n", " ' (c) Date: November, 1988\\n',\n", " '\\n',\n", " '3. Past Usage:\\n',\n", " ' 1. Diaconis,P. & Efron,B. (1983). Computer-Intensive Methods in \\n',\n", " ' Statistics. Scientific American, Volume 248.\\n',\n", " ' -- Gail Gong reported a 80% classfication accuracy\\n',\n", " ' 2. Cestnik,G., Konenenko,I, & Bratko,I. (1987). Assistant-86: A\\n',\n", " ' Knowledge-Elicitation Tool for Sophisticated Users. In I.Bratko\\n',\n", " ' & N.Lavrac (Eds.) Progress in Machine Learning, 31-45, Sigma Press.\\n',\n", " ' -- Assistant-86: 83% accuracy\\n',\n", " '\\n',\n", " '4. Relevant Information:\\n',\n", " ' Please ask Gail Gong for further information on this database.\\n',\n", " '\\n',\n", " '5. Number of Instances: 155\\n',\n", " '\\n',\n", " '6. Number of Attributes: 20 (including the class attribute)\\n',\n", " '\\n',\n", " '7. Attribute information: \\n',\n", " ' 1. Class: DIE, LIVE\\n',\n", " ' 2. AGE: 10, 20, 30, 40, 50, 60, 70, 80\\n',\n", " ' 3. SEX: male, female\\n',\n", " ' 4. STEROID: no, yes\\n',\n", " ' 5. ANTIVIRALS: no, yes\\n',\n", " ' 6. FATIGUE: no, yes\\n',\n", " ' 7. MALAISE: no, yes\\n',\n", " ' 8. ANOREXIA: no, yes\\n',\n", " ' 9. LIVER BIG: no, yes\\n',\n", " ' 10. LIVER FIRM: no, yes\\n',\n", " ' 11. SPLEEN PALPABLE: no, yes\\n',\n", " ' 12. SPIDERS: no, yes\\n',\n", " ' 13. ASCITES: no, yes\\n',\n", " ' 14. VARICES: no, yes\\n',\n", " ' 15. BILIRUBIN: 0.39, 0.80, 1.20, 2.00, 3.00, 4.00\\n',\n", " ' -- see the note below\\n',\n", " ' 16. ALK PHOSPHATE: 33, 80, 120, 160, 200, 250\\n',\n", " ' 17. SGOT: 13, 100, 200, 300, 400, 500, \\n',\n", " ' 18. ALBUMIN: 2.1, 3.0, 3.8, 4.5, 5.0, 6.0\\n',\n", " ' 19. PROTIME: 10, 20, 30, 40, 50, 60, 70, 80, 90\\n',\n", " ' 20. HISTOLOGY: no, yes\\n',\n", " '\\n',\n", " ' The BILIRUBIN attribute appears to be continuously-valued. I checked\\n',\n", " ' this with the donater, Bojan Cestnik, who replied:\\n',\n", " '\\n',\n", " ' About the hepatitis database and BILIRUBIN problem I would like to '\n", " 'say\\n',\n", " ' the following: BILIRUBIN is continuous attribute (= the number of '\n", " \"it's\\n\",\n", " ' \"values\" in the ASDOHEPA.DAT file is negative!!!); \"values\" are '\n", " 'quoted\\n',\n", " ' because when speaking about the continuous attribute there is no '\n", " 'such \\n',\n", " ' thing as all possible values. However, they represent so called\\n',\n", " ' \"boundary\" values; according to these \"boundary\" values the '\n", " 'attribute\\n',\n", " ' can be discretized. At the same time, because of the continious\\n',\n", " ' attribute, one can perform some other test since the continuous\\n',\n", " ' information is preserved. I hope that these lines have at least '\n", " 'roughly \\n',\n", " ' answered your question. \\n',\n", " '\\n',\n", " '8. Missing Attribute Values: (indicated by \"?\")\\n',\n", " ' Attribute Number: Number of Missing Values:\\n',\n", " ' 1: 0\\n',\n", " ' 2: 0\\n',\n", " ' 3: 0\\n',\n", " ' 4: 1\\n',\n", " ' 5: 0\\n',\n", " ' 6: 1\\n',\n", " ' 7: 1\\n',\n", " ' 8: 1\\n',\n", " ' 9: 10\\n',\n", " '\\t\\t 10: 11\\n',\n", " '\\t\\t 11: 5\\n',\n", " '\\t\\t 12: 5\\n',\n", " '\\t\\t 13: 5\\n',\n", " '\\t\\t 14: 5\\n',\n", " '\\t\\t 15: 6\\n',\n", " '\\t\\t 16: 29\\n',\n", " '\\t\\t 17: 4\\n',\n", " '\\t\\t 18: 16\\n',\n", " '\\t\\t 19: 67\\n',\n", " '\\t\\t 20: 0\\n',\n", " '\\n',\n", " '9. Class Distribution:\\n',\n", " ' DIE: 32\\n',\n", " ' LIVE: 123\\n']\n" ] } ], "source": [ "from pprint import pprint\n", "import os\n", "with open(os.path.expanduser('~/DataScientist/data/Hepatitis/hepatitis.names'), 'r') as fd:\n", " pprint(fd.readlines())" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T14:56:24.862488", "start_time": "2017-02-09T14:56:24.827740" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classagesexsteroidantiviralsfatiguemalaiseanorexiabig_liverfirm_liverpalpable_spleenspidersascitesvaricesbilirubinalk_phosphatesgotalbuminprotimehistology
023021.022.02.02.01.02.02.02.02.02.01.085.018.04.0NaN1
125011.021.02.02.01.02.02.02.02.02.00.9135.042.03.5NaN1
227812.021.02.02.02.02.02.02.02.02.00.796.032.04.0NaN1
32311NaN12.02.02.02.02.02.02.02.02.00.746.052.04.080.01
423412.022.02.02.02.02.02.02.02.02.01.0NaN200.04.0NaN1
\n", "
" ], "text/plain": [ " class age sex steroid antivirals fatigue malaise anorexia big_liver firm_liver palpable_spleen spiders ascites varices bilirubin alk_phosphate sgot albumin protime histology\n", "0 2 30 2 1.0 2 2.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 1.0 85.0 18.0 4.0 NaN 1\n", "1 2 50 1 1.0 2 1.0 2.0 2.0 1.0 2.0 2.0 2.0 2.0 2.0 0.9 135.0 42.0 3.5 NaN 1\n", "2 2 78 1 2.0 2 1.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 0.7 96.0 32.0 4.0 NaN 1\n", "3 2 31 1 NaN 1 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 0.7 46.0 52.0 4.0 80.0 1\n", "4 2 34 1 2.0 2 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 1.0 NaN 200.0 4.0 NaN 1" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hepatitis_df.head()\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T14:56:39.153423", "start_time": "2017-02-09T14:56:34.881777" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/anand/playspace/data-science-utils/.eggs/statsmodels-0.8.0-py3.6-linux-x86_64.egg/statsmodels/nonparametric/kernels.py:128: RuntimeWarning: divide by zero encountered in true_divide\n", " return (1. / np.sqrt(2 * np.pi)) * np.exp(-(Xi - x)**2 / (h**2 * 2.))\n", "/home/anand/playspace/data-science-utils/.eggs/statsmodels-0.8.0-py3.6-linux-x86_64.egg/statsmodels/nonparametric/kernels.py:128: RuntimeWarning: invalid value encountered in true_divide\n", " return (1. / np.sqrt(2 * np.pi)) * np.exp(-(Xi - x)**2 / (h**2 * 2.))\n", "/home/anand/playspace/data-science-utils/.eggs/statsmodels-0.8.0-py3.6-linux-x86_64.egg/statsmodels/nonparametric/_kernel_base.py:514: RuntimeWarning: invalid value encountered in true_divide\n", " dens = Kval.prod(axis=1) / np.prod(bw[iscontinuous])\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "# Correlation btw Numerical Columns\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/matplotlib/contour.py:1533: UserWarning: Warning: converting a masked element to nan.\n", " self.zmax = float(z.max())\n", "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/matplotlib/contour.py:1534: UserWarning: Warning: converting a masked element to nan.\n", " self.zmin = float(z.min())\n" ] }, { "data": { "text/html": [ "\n", "
\n", "\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "analyze.correlation_analyze(hepatitis_df, 'firm_liver', 'big_liver')" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2017-02-09T15:13:26.358958", "start_time": "2017-02-09T15:13:22.301660" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Variance of big_liver\n", "0.14367816092\n", "Skewness of big_liver\n", "-1.7526378546\n", "Kolmogrov - Smirnov test with distribution norm\n", "KstestResult(statistic=nan, pvalue=nan)\n", "Anderson-Darling normality test on big_liver \n", "Statistic: nan \n", " p-value: 0.000000\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/scipy/stats/_distn_infrastructure.py:879: RuntimeWarning: invalid value encountered in greater\n", " return (self.a < x) & (x < self.b)\n", "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/scipy/stats/_distn_infrastructure.py:879: RuntimeWarning: invalid value encountered in less\n", " return (self.a < x) & (x < self.b)\n", "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/scipy/stats/_distn_infrastructure.py:1735: RuntimeWarning: invalid value encountered in greater_equal\n", " cond2 = (x >= self.b) & cond0\n", "/home/anand/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/stats.py:185: RuntimeWarning: divide by zero encountered in double_scalars\n", " self.bin_count = np.ceil((self.values.max() - self.values.min())/self.bin_width)\n" ] }, { "ename": "OverflowError", "evalue": "cannot convert float infinity to integer", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/numpy/core/function_base.py\u001b[0m in \u001b[0;36m_index_deprecate\u001b[0;34m(i, stacklevel)\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 15\u001b[0;31m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 16\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: 'numpy.float64' object cannot be interpreted as an integer", "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mOverflowError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mhepatitis_df\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbig_liver\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m-\u001b[0m\u001b[0;36m9999999\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0manalyze\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdist_analyze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhepatitis_df\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'big_liver'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/playspace/data-science-utils/datascienceutils/analyze.py\u001b[0m in \u001b[0;36mdist_analyze\u001b[0;34m(df, column, category, is_normal, bayesian_hist, kdeplot, violinplot)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mviolinplot\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0mplots\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplotter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msb_violinplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcolumn\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minner\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'box'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 55\u001b[0;31m \u001b[0mplots\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mplotter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistogram\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbayesian_bins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbayesian_hist\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 56\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcolumn\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnunique\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m7\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/playspace/data-science-utils/datascienceutils/plotter.py\u001b[0m in \u001b[0;36mhistogram\u001b[0;34m(histDF, values, bayesian_bins, **kwargs)\u001b[0m\n\u001b[1;32m 336\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mbayesian_bins\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 337\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mbokeh\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcharts\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mHistogram\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 338\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mHistogram\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mhistDF\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 339\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 340\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/builder/histogram_builder.py\u001b[0m in \u001b[0;36mHistogram\u001b[0;34m(data, values, label, color, agg, bins, yscale, xgrid, ygrid, continuous_range, **kw)\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0mkw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'bins'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 52\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 53\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mcreate_and_build\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mHistogramBuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_builder.py\u001b[0m in \u001b[0;36mcreate_and_build\u001b[0;34m(builder_class, *data, **kws)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0mchart_kws\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mv\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkws\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mk\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mbuilder_props\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0mchart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mChart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mchart_kws\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m \u001b[0mchart\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_builder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 65\u001b[0m \u001b[0mchart\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstart_plot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_chart.py\u001b[0m in \u001b[0;36madd_builder\u001b[0;34m(self, builder)\u001b[0m\n\u001b[1;32m 132\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0madd_builder\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 133\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_builders\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbuilder\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 134\u001b[0;31m \u001b[0mbuilder\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 135\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0madd_ranges\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdim\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_builder.py\u001b[0m in \u001b[0;36mcreate\u001b[0;34m(self, chart)\u001b[0m\n\u001b[1;32m 301\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mchart\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 302\u001b[0m \u001b[0mchart\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mChart\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 303\u001b[0;31m \u001b[0mchart\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_renderers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 304\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[0;31m# handle ranges after renders, since ranges depend on aggregations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_chart.py\u001b[0m in \u001b[0;36madd_renderers\u001b[0;34m(self, builder, renderers)\u001b[0m\n\u001b[1;32m 127\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 128\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0madd_renderers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbuilder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrenderers\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 129\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderers\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0mrenderers\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 130\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_renderer_map\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_id\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0mbuilder\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mr\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrenderers\u001b[0m \u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 131\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/builder/bar_builder.py\u001b[0m in \u001b[0;36m_yield_renderers\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 226\u001b[0m \u001b[0mstack_label\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgroup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'stack'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 227\u001b[0m \u001b[0mdodge_label\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgroup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'group'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 228\u001b[0;31m **group_kwargs)\n\u001b[0m\u001b[1;32m 229\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 230\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_glyph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgroup\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/glyphs.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, values, label, color, bin_count, **kwargs)\u001b[0m\n\u001b[1;32m 467\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'width'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 468\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 469\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mHistogramGlyph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 470\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 471\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set_sources\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_models.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mCompositeGlyph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 61\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msetup\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msetup\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_models.py\u001b[0m in \u001b[0;36msetup\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msetup\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mrenderer\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mrenderer\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_renderers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 65\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderers\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrefresh\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/_models.py\u001b[0m in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0msetup\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderers\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mrenderer\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mrenderer\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuild_renderers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 65\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderers\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 66\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrefresh\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/glyphs.py\u001b[0m in \u001b[0;36mbuild_renderers\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 476\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 477\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mbuild_renderers\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 478\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mBins\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbin_count\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbin_count\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 479\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcenters\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mbin\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcenter\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mbin\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbins\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbins\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 480\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbin_width\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcenters\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcenters\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/stats.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, values, column, bins, **properties)\u001b[0m\n\u001b[1;32m 162\u001b[0m \u001b[0mproperties\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'column'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcolumn\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 163\u001b[0m \u001b[0mproperties\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'bins'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mBins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mproperties\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/stats.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, **properties)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mproperties\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mStat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__init__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mproperties\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_refresh\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 24\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_refresh\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/stats.py\u001b[0m in \u001b[0;36m_refresh\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 27\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 28\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 29\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalculate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 30\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mset_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/bokeh/charts/stats.py\u001b[0m in \u001b[0;36mcalculate\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 172\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 173\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcalculate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 174\u001b[0;31m \u001b[0mbinned\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbin_edges\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcut\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbin_count\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprecision\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 175\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbinned\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/pandas/core/reshape/tile.py\u001b[0m in \u001b[0;36mcut\u001b[0;34m(x, bins, right, labels, retbins, precision, include_lowest)\u001b[0m\n\u001b[1;32m 116\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mendpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# adjust end points after binning\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 118\u001b[0;31m \u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mendpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 119\u001b[0m \u001b[0madj\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mmx\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0mmn\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0;36m0.001\u001b[0m \u001b[0;31m# 0.1% of the range\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/numpy/core/function_base.py\u001b[0m in \u001b[0;36mlinspace\u001b[0;34m(start, stop, num, endpoint, retstep, dtype)\u001b[0m\n\u001b[1;32m 99\u001b[0m \"\"\"\n\u001b[1;32m 100\u001b[0m \u001b[0;31m# 2016-02-25, 1.12\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 101\u001b[0;31m \u001b[0mnum\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_index_deprecate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 102\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnum\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Number of samples, %s, must be non-negative.\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mnum\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/numpy/core/function_base.py\u001b[0m in \u001b[0;36m_index_deprecate\u001b[0;34m(i, stacklevel)\u001b[0m\n\u001b[1;32m 17\u001b[0m msg = (\"object of type {} cannot be safely interpreted as \"\n\u001b[1;32m 18\u001b[0m \"an integer.\".format(type(i)))\n\u001b[0;32m---> 19\u001b[0;31m \u001b[0mi\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 20\u001b[0m \u001b[0mstacklevel\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mDeprecationWarning\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstacklevel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstacklevel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mOverflowError\u001b[0m: cannot convert float infinity to integer" ] } ], "source": [ "hepatitis_df.big_liver.replace(np.inf, 9999999, inplace=True)\n", "hepatitis_df.big_liver.replace(-np.inf, -9999999, inplace=True)\n", "\n", "analyze.dist_analyze(hepatitis_df, 'big_liver')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "No axis named at 0x7f6d4ea48ea0> for object type ", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mhepatitis_df\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbig_liver\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0many\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36mlogical_func\u001b[0;34m(self, axis, bool_only, skipna, level, **kwargs)\u001b[0m\n\u001b[1;32m 6419\u001b[0m return self._reduce(f, axis=axis, skipna=skipna,\n\u001b[1;32m 6420\u001b[0m \u001b[0mnumeric_only\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbool_only\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfilter_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'bool'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6421\u001b[0;31m name=name)\n\u001b[0m\u001b[1;32m 6422\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6423\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mset_function_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlogical_func\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcls\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_reduce\u001b[0;34m(self, op, name, axis, skipna, numeric_only, filter_type, **kwds)\u001b[0m\n\u001b[1;32m 2374\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdelegate\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndarray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2375\u001b[0m \u001b[0;31m# Validate that 'axis' is consistent with Series's single axis.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2376\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2377\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnumeric_only\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2378\u001b[0m raise NotImplementedError('Series.{0} does not implement '\n", "\u001b[0;32m~/anaconda3/envs/analytics/lib/python3.6/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m_get_axis_number\u001b[0;34m(self, axis)\u001b[0m\n\u001b[1;32m 351\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 352\u001b[0m raise ValueError('No axis named {0} for object type {1}'\n\u001b[0;32m--> 353\u001b[0;31m .format(axis, type(self)))\n\u001b[0m\u001b[1;32m 354\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 355\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_get_axis_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: No axis named at 0x7f6d4ea48ea0> for object type " ] } ], "source": [ "hepatitis_df.big_liver.any(lambda x: x==np.inf)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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.6.3" } }, "nbformat": 4, "nbformat_minor": 1 }