{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Description\n", "This is an example tutorial to use my module bhishan for the plotly\n", "extension for pandas.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:01.670967Z", "start_time": "2020-09-28T22:42:59.893542Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Bhishan Poudel 2020-09-28 \n", "\n", "CPython 3.7.7\n", "IPython 7.18.1\n", "\n", "compiler : Clang 4.0.1 (tags/RELEASE_401/final)\n", "system : Darwin\n", "release : 19.6.0\n", "machine : x86_64\n", "processor : i386\n", "CPU cores : 4\n", "interpreter: 64bit\n", "pandas 1.1.0\n", "bhishan 0.3.1\n", "autopep8 1.5.2\n", "seaborn 0.11.0\n", "json 2.0.9\n", "numpy 1.18.4\n", "\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import seaborn as sns\n", "import bhishan\n", "from bhishan import bp\n", "import matplotlib.pyplot as plt\n", "\n", "%load_ext autoreload\n", "%load_ext watermark\n", "\n", "%autoreload 2\n", "%watermark -a \"Bhishan Poudel\" -d -v -m\n", "%watermark -iv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Using plotly api in module bhishan" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:01.731046Z", "start_time": "2020-09-28T22:43:01.673828Z" } }, "outputs": [], "source": [ "# print(sns.get_dataset_names())" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:01.818206Z", "start_time": "2020-09-28T22:43:01.736379Z" } }, "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", "
survivedpclasssexagesibspparchfareembarkedclasswhoadult_maledeckembark_townalivealone
003male22.0107.2500SThirdmanTrueNaNSouthamptonnoFalse
111female38.01071.2833CFirstwomanFalseCCherbourgyesFalse
213female26.0007.9250SThirdwomanFalseNaNSouthamptonyesTrue
311female35.01053.1000SFirstwomanFalseCSouthamptonyesFalse
403male35.0008.0500SThirdmanTrueNaNSouthamptonnoTrue
\n", "
" ], "text/plain": [ " survived pclass sex age sibsp parch fare embarked class \\\n", "0 0 3 male 22.0 1 0 7.2500 S Third \n", "1 1 1 female 38.0 1 0 71.2833 C First \n", "2 1 3 female 26.0 0 0 7.9250 S Third \n", "3 1 1 female 35.0 1 0 53.1000 S First \n", "4 0 3 male 35.0 0 0 8.0500 S Third \n", "\n", " who adult_male deck embark_town alive alone \n", "0 man True NaN Southampton no False \n", "1 woman False C Cherbourg yes False \n", "2 woman False NaN Southampton yes True \n", "3 woman False C Southampton yes False \n", "4 man True NaN Southampton no True " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = sns.load_dataset('titanic')\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:01.942011Z", "start_time": "2020-09-28T22:43:01.821554Z" } }, "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", "
embarked Count Percent Cumulative Count Cumulative Percent
0S64472.44%64472.44%
1C16818.90%81291.34%
2Q778.66%889100.00%
" ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.bp.freq(['embarked'],style=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.047957Z", "start_time": "2020-09-28T22:43:01.944609Z" } }, "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", " \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", "
Feature Type N Count Unique Missing MissingPct Zeros ZerosPct mean std min max 25% 50% 75%
11deckcategory891203768877.2200.00
3agefloat648917148817719.8700.0029.7014.530.4280.0020.1228.0038.00
7embarkedobject891889320.2200.00
12embark_townobject891889320.2200.00
5parchint64891891700.0067876.090.380.810.006.000.000.000.00
4sibspint64891891700.0060868.240.521.100.008.000.000.001.00
0survivedint64891891200.0054961.620.380.490.001.000.000.001.00
10adult_malebool891891200.0035439.73
14alonebool891891200.0035439.73
6farefloat6489189124800.00151.6832.2049.690.00512.337.9114.4531.00
1pclassint64891891300.0000.002.310.841.003.002.003.003.00
2sexobject891891200.0000.00
8classcategory891891300.0000.00
9whoobject891891300.0000.00
13aliveobject891891200.0000.00
" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.bp.describe()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.097979Z", "start_time": "2020-09-28T22:43:02.049860Z" } }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.bp.get_duplicate_columns()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.137152Z", "start_time": "2020-09-28T22:43:02.099799Z" } }, "outputs": [ { "data": { "text/plain": [ "survived int64\n", "pclass int64\n", "sex object\n", "age float64\n", "sibsp int64\n", "parch int64\n", "fare float64\n", "embarked object\n", "class object\n", "who object\n", "adult_male bool\n", "deck object\n", "embark_town object\n", "alive object\n", "alone bool\n", "dtype: object" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.dtypes" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.185925Z", "start_time": "2020-09-28T22:43:02.139244Z" } }, "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", "
aba_dup
0010
1121
2232
\n", "
" ], "text/plain": [ " a b a_dup\n", "0 0 1 0\n", "1 1 2 1\n", "2 2 3 2" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1 = pd.DataFrame({'a': range(3),'b':range(1,4),'a_dup':range(3)})\n", "df1" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.235248Z", "start_time": "2020-09-28T22:43:02.190994Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a == a_dup\n" ] }, { "data": { "text/plain": [ "['a_dup']" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.bp.get_duplicate_columns()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2020-09-28T22:43:02.807256Z", "start_time": "2020-09-28T22:43:02.239121Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Missing values high threshold = 80%\n", "\n", "Number of missing values features: 4\n", "cols_missing_high = []\n", "cols_missing_low = ['deck', 'age', 'embarked', 'embark_town']\n" ] }, { "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", "
Feature Type Count Missing Zeros Unique MissingPct ZerosPct count mean std min 25% 50% 75% max
11deckobject8916880777.2166110.000000
3agefloat6489117708819.8653200.000000714.00000029.69911814.5264970.42000020.12500028.00000038.00000080.000000
7embarkedobject8912030.2244670.000000
12embark_townobject8912030.2244670.000000
" ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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l7XDZs2aMXr0aF5++WVsNhuhoaE8+uij1K9fn+PHj5OYmEhFRQXx8fHExMRc1j5ERETEs11SwFm2bBkjR46ssZ3edNNN3HTTTVWWjxo1qsb2ISIiIp7rkrqovv766ytdh4iIiEiNuaQrOOHh4UydOpXWrVvj7+/vWD5w4MArVpiIiIjI5bqkgHPukQrnBgaLiIiIuLJLCjgPPfQQAIWFhQQGBl7RgkRERET+qEsag5OVlcWECRN47LHHyM3NZcKECRw9evRK1yYiIiJyWS4p4MyfP5/Ro0dTr149QkND6d+/P++8886Vrk1ERETkslxSwDlz5gzt27d3vO/Xrx9FRUVXrCgRERGRP+KSAo7JZKr0rKhTp05hs9muaGEiIiIil+uSBhknJCQwbdo08vPzWbx4MVu2bGHw4MFXujYRERGRy/K7ASczM5PAwECGDh3Kzp07qaio4IEHHqjUZSUiIiLiSi4acDZu3EhKSgqNGjXi+PHjjBs3jg4dOjirNhEREZHLctGAs2bNGpKTkwkNDWX//v3861//UsARERERl/e7g4xDQ0MBaNmyJadPn77iBYmIiIj8URcNOOfumjrHbDZf0WJEREREasIl3SZ+zvmBR0RERMQVXXQMzs8//8y9997reF9aWsq9996L3W7HZDKxYMGCK16giIiISHVdNODMnj3bWXWIiIiI1JiLBpywsDBn1SEiIiJSY6o1BkdERESkNlDAEREREbejgCMiIiJux9CAk5GRwciRIwGw2Wy8//77jB8/nnHjxrFu3TojSxMREZFa7JKeJn4lZGdns3DhQux2OwDr168nOzub5ORkiouLSUpKIioqiujoaKNKFBERkVrKkCs4paWlzJ49u9IcOxkZGfTq1Quz2UxQUBDdunUjPT3diPJERESkljPkCs4777xDfHw8zZo1cyzLycnBYrE43lssFjIzM6v92ZGRkTVS4+XI2vu9Yfs2mq+vn6HHXow998V4an/PpvavyukB57PPPsNsNtOnTx9OnDjhWH5uduRfv/fyqv4FpqysrBqp83KUlZUatm+jlZWVGnrsPV1kZKSOvwdT+3s2T2//3wp3Tg84mzZtoqysjMTERCoqKhyvQ0NDycvLc2yXl5fneJK5iIiISHU4PeBMnz7d8frEiRM8/vjjzJgxgzVr1pCWlkbnzp0pKSlh69atjBkzxtnl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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.bp.missing()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python (dataSc)", "language": "python", "name": "datasc" }, "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.7.7" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": true }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }