{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\n#for dirname, _, filenames in os.walk('/kaggle/input'):\n##    for filename in filenames:\n#       print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-03-13T22:42:43.475749Z","iopub.execute_input":"2022-03-13T22:42:43.476290Z","iopub.status.idle":"2022-03-13T22:42:43.507111Z","shell.execute_reply.started":"2022-03-13T22:42:43.476194Z","shell.execute_reply":"2022-03-13T22:42:43.506365Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"","metadata":{}},{"cell_type":"markdown","source":"# EDA GOAL  \nThe goal of this file is to check if it is possible to reduce the number of collumns and create a new reduced articles file with only essential information.","metadata":{}},{"cell_type":"code","source":"articles_df = pd.read_csv('/kaggle/input/h-and-m-personalized-fashion-recommendations/articles.csv')\narticles_df.head(1)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T22:42:49.443709Z","iopub.execute_input":"2022-03-13T22:42:49.444019Z","iopub.status.idle":"2022-03-13T22:42:50.771034Z","shell.execute_reply.started":"2022-03-13T22:42:49.443992Z","shell.execute_reply":"2022-03-13T22:42:50.769725Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Printing collumns names and the number of unique values per column","metadata":{}},{"cell_type":"code","source":"article_col_names = pd.DataFrame(columns={'Column Name', 'Number of Unique Values'})\nfor col in articles_df:\n    new_df = pd.DataFrame({'Column Name':[col], 'Number of Unique Values': [articles_df[col].unique().size]})\n    article_col_names = article_col_names.append( new_df)\n    #print(col + \" - \" + str(articles_df[col].unique().size))\narticle_col_names = article_col_names[['Column Name','Number of Unique Values']]\narticle_col_names.head(25)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T22:45:05.760790Z","iopub.execute_input":"2022-03-13T22:45:05.762214Z","iopub.status.idle":"2022-03-13T22:45:05.947604Z","shell.execute_reply.started":"2022-03-13T22:45:05.762175Z","shell.execute_reply":"2022-03-13T22:45:05.945005Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"aprod = articles_df[['product_type_no','product_type_name']]\naprod_uniques = aprod.drop_duplicates()\nprint(aprod_uniques)\n\nagraph = articles_df[['graphical_appearance_no','graphical_appearance_name']]\nagraph_uniques = agraph.drop_duplicates()\nprint(agraph_uniques)\n\nacolour = articles_df[['colour_group_code','colour_group_name']]\nacolour_uniques = acolour.drop_duplicates()\nprint(acolour_uniques)\n\naperc = articles_df[['perceived_colour_value_id','perceived_colour_value_name']]\naperc_uniques = aperc.drop_duplicates()\nprint(aperc_uniques)\n\naindex = articles_df[['index_code','index_name']]\naindex_uniques = aindex.drop_duplicates()\nprint(aindex_uniques)\n\naidx_grp = articles_df[['index_group_no','section_name']]\naidx_grp_uniques = aidx_grp.drop_duplicates()\nprint(aidx_grp_uniques)\n\naidx_grp = articles_df[['section_no','index_group_name']]\naidx_grp_uniques = aidx_grp.drop_duplicates()\nprint(aidx_grp_uniques)\n\nagarm = articles_df[['garment_group_no','garment_group_name']]\nagarm_uniques = agarm.drop_duplicates()\nprint(agarm_uniques)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T22:52:03.001013Z","iopub.execute_input":"2022-03-13T22:52:03.001253Z","iopub.status.idle":"2022-03-13T22:52:03.145060Z","shell.execute_reply.started":"2022-03-13T22:52:03.001230Z","shell.execute_reply":"2022-03-13T22:52:03.143475Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"art_reduced = articles_df[['article_id','product_code','product_type_no','graphical_appearance_no',\n                          'colour_group_code','perceived_colour_value_id','perceived_colour_master_id',\n                          'department_no','index_code','index_group_no','section_no','garment_group_no',\n                          ]]\nart_reduced.head()\n\nart_reduced.to_csv('./articles_reduced.csv')","metadata":{"execution":{"iopub.status.busy":"2022-03-13T22:59:23.469990Z","iopub.execute_input":"2022-03-13T22:59:23.470349Z","iopub.status.idle":"2022-03-13T22:59:24.247554Z","shell.execute_reply.started":"2022-03-13T22:59:23.470309Z","shell.execute_reply":"2022-03-13T22:59:24.244928Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pcod_df = articles_df['product_code'].unique()\nprint(pcod_df.size)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T12:28:09.359699Z","iopub.execute_input":"2022-03-13T12:28:09.360498Z","iopub.status.idle":"2022-03-13T12:28:09.371397Z","shell.execute_reply.started":"2022-03-13T12:28:09.360456Z","shell.execute_reply":"2022-03-13T12:28:09.370663Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Grap graphical_appearance_no - 30 graphical_appearance_name - 3\n\nag = articles_df[['graphical_appearance_no','graphical_appearance_name']]\nag_uniques = ag.drop_duplicates()\nprint(ag_uniques)\nprint(ag_uniques['graphical_appearance_no'].size)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T12:38:54.780374Z","iopub.execute_input":"2022-03-13T12:38:54.780989Z","iopub.status.idle":"2022-03-13T12:38:54.813206Z","shell.execute_reply.started":"2022-03-13T12:38:54.780938Z","shell.execute_reply":"2022-03-13T12:38:54.812311Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Prod Type No vs Prod Type Name\n\naprod = articles_df[['product_type_no','product_type_name']]\naprod_uniques = aprod.drop_duplicates()\nprint(aprod_uniques)\nprint(aprod_uniques['product_type_no'].size)\nprint(aprod_uniques['product_type_name'].size)\npd.set_option(\"display.max_rows\", None, \"display.max_columns\", None)\n\nprint(aprod_uniques)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#Prod colour_group_code - 50 colour_group_name - 50\n\nacolour = articles_df[['colour_group_code','colour_group_name']]\nacolour_uniques = acolour.drop_duplicates()\nprint(acolour_uniques)\nprint(acolour_uniques['colour_group_code'].size)\nprint(acolour_uniques['colour_group_name'].size)\npd.set_option(\"display.max_rows\", None, \"display.max_columns\", None)\n\nprint(acolour_uniques)","metadata":{"execution":{"iopub.status.busy":"2022-03-13T12:48:52.460866Z","iopub.execute_input":"2022-03-13T12:48:52.461184Z","iopub.status.idle":"2022-03-13T12:48:52.496766Z","shell.execute_reply.started":"2022-03-13T12:48:52.461145Z","shell.execute_reply":"2022-03-13T12:48:52.496001Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"for col in articles_df:\n    print(col + \" - \" + str(articles_df[col].unique().size))\n   \n","metadata":{"execution":{"iopub.status.busy":"2022-03-13T12:30:01.626531Z","iopub.execute_input":"2022-03-13T12:30:01.626824Z","iopub.status.idle":"2022-03-13T12:30:01.799964Z","shell.execute_reply.started":"2022-03-13T12:30:01.626794Z","shell.execute_reply":"2022-03-13T12:30:01.798637Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}