CoolFace
Apppublic

christopher/facets-overview

sourceHugging Faceupdated 5y agoView on Hugging Face
5likes
facets-overview.ipynb155 linesDownload Raw Back to root
1{2 "cells": [3  {4   "cell_type": "code",5   "execution_count": 1,6   "id": "d5d0ea64",7   "metadata": {},8   "outputs": [9    {10     "data": {11      "text/html": [12       "<style>.container { width:95% !important; }</style>"13      ],14      "text/plain": [15       "<IPython.core.display.HTML object>"16      ]17     },18     "metadata": {},19     "output_type": "display_data"20    }21   ],22   "source": [23    "from IPython.core.display import display, HTML, Image\n",24    "display(HTML(\"<style>.container { width:95% !important; }</style>\"))\n",25    "%config IPCompleter.use_jedi=False"26   ]27  },28  {29   "cell_type": "code",30   "execution_count": 2,31   "id": "403c4b8a",32   "metadata": {},33   "outputs": [],34   "source": [35    "import pandas as pd\n",36    "from IPython.display import Markdown, display, HTML, IFrame\n",37    "from facets_overview.generic_feature_statistics_generator import GenericFeatureStatisticsGenerator\n",38    "import base64"39   ]40  },41  {42   "cell_type": "code",43   "execution_count": 3,44   "id": "1c48706a",45   "metadata": {},46   "outputs": [],47   "source": [48    "df = pd.read_csv('./adult.csv')"49   ]50  },51  {52   "cell_type": "code",53   "execution_count": 5,54   "id": "b512f166",55   "metadata": {},56   "outputs": [57    {58     "name": "stdout",59     "output_type": "stream",60     "text": [61      "<class 'pandas.core.frame.DataFrame'>\n",62      "RangeIndex: 32561 entries, 0 to 32560\n",63      "Data columns (total 15 columns):\n",64      " #   Column          Non-Null Count  Dtype \n",65      "---  ------          --------------  ----- \n",66      " 0   age             32561 non-null  int64 \n",67      " 1   workclass       32561 non-null  object\n",68      " 2   fnlwgt          32561 non-null  int64 \n",69      " 3   education       32561 non-null  object\n",70      " 4   education.num   32561 non-null  int64 \n",71      " 5   marital.status  32561 non-null  object\n",72      " 6   occupation      32561 non-null  object\n",73      " 7   relationship    32561 non-null  object\n",74      " 8   race            32561 non-null  object\n",75      " 9   sex             32561 non-null  object\n",76      " 10  capital.gain    32561 non-null  int64 \n",77      " 11  capital.loss    32561 non-null  int64 \n",78      " 12  hours.per.week  32561 non-null  int64 \n",79      " 13  native.country  32561 non-null  object\n",80      " 14  income          32561 non-null  object\n",81      "dtypes: int64(6), object(9)\n",82      "memory usage: 3.7+ MB\n"83     ]84    }85   ],86   "source": [87    "df.info()"88   ]89  },90  {91   "cell_type": "code",92   "execution_count": 4,93   "id": "fce8e9f4",94   "metadata": {},95   "outputs": [96    {97     "ename": "TypeError",98     "evalue": "string indices must be integers",99     "output_type": "error",100     "traceback": [101      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",102      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",103      "\u001b[0;32m/tmp/ipykernel_28/1621212634.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mproto\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mGenericFeatureStatisticsGenerator\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mProtoFromDataFrames\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdf\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      2\u001b[0m \u001b[0mprotostr\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbase64\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mb64encode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mproto\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSerializeToString\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"utf-8\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m HTML_TEMPLATE = \"\"\"\n\u001b[1;32m      4\u001b[0m         \u001b[0;34m<\u001b[0m\u001b[0mscript\u001b[0m \u001b[0msrc\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js\"\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0;34m<\u001b[0m\u001b[0;34m/\u001b[0m\u001b[0mscript\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m         \u001b[0;34m<\u001b[0m\u001b[0mlink\u001b[0m \u001b[0mrel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"import\"\u001b[0m \u001b[0mhref\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"https://raw.githubusercontent.com/PAIR-code/facets/1.0.0/facets-dist/facets-jupyter.html\"\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",104      "\u001b[0;32m/opt/conda/lib/python3.9/site-packages/facets_overview/base_generic_feature_statistics_generator.py\u001b[0m in \u001b[0;36mProtoFromDataFrames\u001b[0;34m(self, dataframes, histogram_categorical_levels_count)\u001b[0m\n\u001b[1;32m     49\u001b[0m     \u001b[0mdatasets\u001b[0m \u001b[0;34m=\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     50\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mdataframe\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdataframes\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 51\u001b[0;31m       \u001b[0mtable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdataframe\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'table'\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     52\u001b[0m       \u001b[0mtable_entries\u001b[0m \u001b[0;34m=\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     53\u001b[0m       \u001b[0;32mfor\u001b[0m \u001b[0mcol\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtable\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",105      "\u001b[0;31mTypeError\u001b[0m: string indices must be integers"106     ]107    }108   ],109   "source": [110    "proto = GenericFeatureStatisticsGenerator().ProtoFromDataFrames(df)\n",111    "protostr = base64.b64encode(proto.SerializeToString()).decode(\"utf-8\")\n",112    "HTML_TEMPLATE = \"\"\"\n",113    "        <script src=\"https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.3.3/webcomponents-lite.js\"></script>\n",114    "        <link rel=\"import\" href=\"https://raw.githubusercontent.com/PAIR-code/facets/1.0.0/facets-dist/facets-jupyter.html\">\n",115    "        <facets-overview id=\"elem\"></facets-overview>\n",116    "        <script>\n",117    "          document.querySelector(\"#elem\").protoInput = \"{protostr}\";\n",118    "        </script>\"\"\"\n",119    "html_str = HTML_TEMPLATE.format(protostr=protostr)\n",120    "with open(\"index.html\",'w') as fo:\n",121    "    fo.write(html_str)"122   ]123  },124  {125   "cell_type": "code",126   "execution_count": null,127   "id": "c0a817dc",128   "metadata": {},129   "outputs": [],130   "source": []131  }132 ],133 "metadata": {134  "kernelspec": {135   "display_name": "Python 3 (ipykernel)",136   "language": "python",137   "name": "python3"138  },139  "language_info": {140   "codemirror_mode": {141    "name": "ipython",142    "version": 3143   },144   "file_extension": ".py",145   "mimetype": "text/x-python",146   "name": "python",147   "nbconvert_exporter": "python",148   "pygments_lexer": "ipython3",149   "version": "3.9.7"150  }151 },152 "nbformat": 4,153 "nbformat_minor": 5154}155