{"cells":[{"metadata":{},"cell_type":"markdown","source":"# EDA and description for Train.csv file\n\nIn case somebody need it.\n\nIt's my first notebook commit so pls don't be tough and upvote if you'll find it useful! Thanks!"},{"metadata":{"trusted":true},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport missingno as msno","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv('../input/vinbigdata-chest-xray-abnormalities-detection/train.csv')\ntrain.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train.rad_id = train.rad_id.apply(lambda x: int(x.replace('R', '')))\ntrain.info()","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true},"cell_type":"code","source":"print('\\n------------------------------------ UNIQUE VALUES ------------------------------------------\\n\\n\\n')\nprint(\"Unique values for class id:\",sorted(pd.unique(train.class_id.values)))\nprint('\\n----------------------------------------------------------------------\\n')\nprint(\"Unique values for class name:\",sorted(pd.unique(train.class_name.values)))\nprint('\\n----------------------------------------------------------------------\\n')\nprint(\"Unique values for rad id:\",sorted(pd.unique(train.rad_id.values)))\nprint('\\n\\n\\n-------------------------------- X AND Y COORDINATES ---------------------------------------\\n\\n\\n')\nprint('Mean value of minimum X coordinate of the objects bounding box is',np.mean(train.x_min), ', mean value of maximum X is',np.mean(train.x_max))\nprint('Mean value of minimum Y coordinate of the objects bounding box is',np.mean(train.y_min), ', mean value of maximum Y is',np.mean(train.y_max))\nprint('\\n----------------------------------------------------------------------\\n')\nprint('Values of minimum X coordinates lie between', min(train.x_min.dropna()), 'and', max(train.x_min.dropna()))\nprint('Values of maximum X coordinates lie between', min(train.x_max.dropna()), 'and', max(train.x_max.dropna()))\nprint('\\n----------------------------------------------------------------------\\n')\nprint('Values of minimum Y coordinates lie between', min(train.y_min.dropna()), 'and', max(train.y_min.dropna()))\nprint('Values of maximum Y coordinates lie between', min(train.y_max.dropna()), 'and', max(train.y_max.dropna()))\nprint('\\n\\n\\n-------------------------------- MOST FREQUENT VALUES --------------------------------------\\n\\n\\n')\nprint('The most frequent value in rad id is:', train.rad_id.value_counts().idxmax())\nprint('The most frequent value in class name is:', train.class_name.value_counts().idxmax())\nprint('The most frequent value in class id is:', train.class_id.value_counts().idxmax(),'\\n')","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true},"cell_type":"code","source":"print('\\n----------------- X min ----------------------\\n')\nprint(train.x_min.describe())\nprint('\\n----------------- X max ----------------------\\n')\nprint(train.x_max.describe())\nprint('\\n----------------- Y min ----------------------\\n')\nprint(train.y_min.describe())\nprint('\\n----------------- Y max ----------------------\\n')\nprint(train.y_max.describe())","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true},"cell_type":"code","source":"fig, axes = plt.subplots(figsize = (25,7), nrows=1, ncols=3)\nax0, ax1, ax2 = axes.flatten()\n\nax0.hist(train.class_id, bins=35, color = \"orchid\")\nax0.set_xticks(pd.unique(train.class_id.values))\nax0.set_title('class id', fontsize=22)\n\nax1.hist(train.rad_id, bins=35, color = \"mediumorchid\")\nax1.set_xticks(pd.unique(train.rad_id.values))\nax1.set_title('rad id', fontsize=22)\n\nax2.hist(train.class_name, bins=35, color = \"darkorchid\")\nax2.set_xticklabels(pd.unique(train.class_name.values), rotation='vertical', fontsize=14)\nax2.set_title('class name', fontsize=22)","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"trusted":true},"cell_type":"code","source":"fig, axes = plt.subplots(figsize = (20,10), nrows=2, ncols=2)\nax0, ax1, ax2, ax3 = axes.flatten()\n\nax0.hist(train.x_min, bins=55, color = \"skyblue\")\nax0.axvline(x=602, color='royalblue', linestyle='dashed', linewidth=2)\nax0.axvline(x=1457, color='royalblue', linestyle='dashed', linewidth=2)\nax0.axvline(x=1014, color='cornflowerblue', linewidth=2)\nax0.set_title('X minimum', fontsize=18)\n\nax1.hist(train.x_max, bins=55, color = \"skyblue\")\nax1.axvline(x=1010, color='royalblue', linestyle='dashed', linewidth=2)\nax1.axvline(x=1567, color='cornflowerblue', linewidth=2)\nax1.axvline(x=1947, color='royalblue', linestyle='dashed', linewidth=2)\nax1.set_title('X maximum', fontsize=18)\n\nax2.hist(train.y_min, bins=55)\nax2.axvline(x=627, color='orchid', linestyle='dashed', linewidth=2)\nax2.axvline(x=935, color='cornflowerblue', linewidth=2)\nax2.axvline(x=1471, color='orchid', linestyle='dashed', linewidth=2)\nax2.set_title('Y minimum', fontsize=18)\n\nax3.hist(train.y_max, bins=55)\nax3.axvline(x=1009, color='orchid', linestyle='dashed', linewidth=2)\nax3.axvline(x=1411, color='cornflowerblue', linewidth=2)\nax3.axvline(x=1911, color='orchid', linestyle='dashed', linewidth=2)\nax3.set_title('Y maximum', fontsize=18)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"msno.matrix(train)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train.isna().sum(axis=0)","execution_count":null,"outputs":[]}],"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":4,"nbformat_minor":4}