{"nbformat_minor": 1, "cells": [{"cell_type": "markdown", "source": ["## There are 5270 categories..., is there deviation of category?"], "metadata": {"_uuid": "3c6a1cadb7ca465e656569d1dc7b90af227c9f34", "_cell_guid": "b1e6c32b-d742-4bc8-8820-47baf05b2f69"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["import io\n", "import bson\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "%matplotlib inline"], "metadata": {"_uuid": "6a7f63968aef1735e2741e88d805738ed257fb7e", "collapsed": true, "_cell_guid": "acc336af-6d63-4e2a-88e6-49d55923cc45"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["bson_train = bson.decode_file_iter(open('../input/train.bson', 'rb'))"], "metadata": {"_uuid": "2cbdbe2587f39e765acfc529856baae9b0317058", "collapsed": true, "_cell_guid": "997e2634-6f14-4224-b97a-686f05db960c"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["dict_bson_train = {}\n", "\n", "for idx_bson, data_bson in enumerate(bson_train):\n", "    product_id = data_bson['_id']\n", "    category_id = data_bson['category_id']\n", "    dict_bson_train[product_id] = category_id"], "metadata": {"_uuid": "25afdba12385cbfab715523034e49d4594fb4533", "collapsed": true, "_cell_guid": "184448da-c2d8-4cb6-af94-cb1eae590702"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["df_bson_train = pd.DataFrame.from_dict(dict_bson_train, orient='index')\n", "df_bson_train = df_bson_train.reset_index()\n", "df_bson_train.columns = ['product_id', 'category_id']\n", "df_bson_train.to_csv('df_bson_train.csv')\n", "df_bson_train"], "metadata": {"_uuid": "d9e31255cab3203491a76e7ef4d253655ea32d7c", "_cell_guid": "058fe3a7-c73e-4d04-afdb-0c6b02d1972d"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["df_counts_category_id = pd.DataFrame([df_bson_train.category_id.value_counts()]).T\n", "df_counts_category_id = df_counts_category_id.reset_index()\n", "df_counts_category_id.columns = ['category_id', 'counts']\n", "df_counts_category_id.to_csv('df_counts_category_id.csv')\n", "df_counts_category_id"], "metadata": {"_uuid": "8a828cdda037a74771decd2522908cfe02cd0e56", "_cell_guid": "9a8d8caf-1c82-448a-8aeb-a2bebd861ed9"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["df_counts_ratio = pd.DataFrame(df_counts_category_id.category_id)\n", "df_counts_ratio['ratio'] = df_counts_category_id.counts / df_counts_category_id.counts.sum()\n", "df_counts_ratio['ratio_sum'] = df_counts_ratio.ratio.cumsum()\n", "df_counts_ratio.to_csv('df_counts_ratio.csv')\n", "df_counts_ratio"], "metadata": {"_uuid": "afbb68c1623634a1e4e08549e3ac17dd4168140f", "_cell_guid": "3db835aa-20a1-4c49-a4f1-7f35b84f9502"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["df_counts_ratio.plot.bar(x='category_id', y='ratio', figsize=(11.69 * 2, 8.27 * 2))"], "metadata": {"_uuid": "ff606e871874468a9d56691a0796d1076902af61", "_cell_guid": "672d4a88-7784-4d52-9fc8-45d044fb762d"}}, {"cell_type": "code", "execution_count": null, "outputs": [], "source": ["df_counts_ratio.plot.bar(x='category_id', y='ratio_sum', figsize=(11.69 * 2, 8.27 * 2))"], "metadata": {"_uuid": "d58aef414153693c648e72df58a2e8952ea693b9", "_cell_guid": "a575663f-688f-42c7-8544-e68a0552453a"}}], "metadata": {"kernelspec": {"display_name": "Python 3", "name": "python3", "language": "python"}, "language_info": {"mimetype": "text/x-python", "name": "python", "version": "3.6.1", "pygments_lexer": "ipython3", "codemirror_mode": {"version": 3, "name": "ipython"}, "nbconvert_exporter": "python", "file_extension": ".py"}}, "nbformat": 4}