{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"e39210a3-b73d-423b-b04f-cfd0b014e446"},"outputs":[],"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 in \n%matplotlib inline\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 \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nfrom subprocess import check_output\nprint(check_output([\"ls\", \"../input\"]).decode(\"utf8\"))\n\n# Any results you write to the current directory are saved as output."},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"81c2c9d9-f3f6-41de-8b84-55284a6077a8"},"outputs":[],"source":"# Get first 10000 rows and print some info about columns\ntrain = pd.read_csv(\"../input/train.csv\", parse_dates=['srch_ci', 'srch_co'], nrows=10000)\ntrain.info()"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"a4120c3b-1496-4782-9fc9-e15d5e056ca5"},"outputs":[],"source":"import seaborn as sns\nimport matplotlib.pyplot as plt\n# preferred continent destinations\nsns.countplot(x='hotel_continent', data=train)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"3faa6d26-fed9-4fa9-b3b9-f0b5c7f6bbed"},"outputs":[],"source":"# most of people booking are from continent 3 I guess is one of the rich continent?\nsns.countplot(x='posa_continent', data=train)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"da8d1388-ed51-4072-9372-32a08f173619"},"outputs":[],"source":"# putting the two above together\nsns.countplot(x='hotel_continent', hue='posa_continent', data=train)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ad0db53a-972c-4ea6-acb4-e9025072cd53"},"outputs":[],"source":"# how many people by continent are booking from mobile\nsns.countplot(x='posa_continent', hue='is_mobile', data = train)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"c4cb9772-ce92-4e2d-aa6c-e1fcc6a4f9af"},"outputs":[],"source":"# Difference between user and destination country\nsns.distplot(train['user_location_country'], label=\"User country\")\nsns.distplot(train['hotel_country'], label=\"Hotel country\")\nplt.legend()"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"caa17363-6632-4beb-bc20-79f9237a4415"},"outputs":[],"source":"import numpy as np\n# get number of booked nights as difference between check in and check out\nhotel_nights = train['srch_co'] - train['srch_ci'] \nhotel_nights = (hotel_nights / np.timedelta64(1, 'D')).astype(float) # convert to float to avoid NA problems\ntrain['hotel_nights'] = hotel_nights\nplt.figure(figsize=(11, 9))\nax = sns.boxplot(x='hotel_continent', y='hotel_nights', data=train)\nlim = ax.set(ylim=(0, 15))"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"57d325db-e192-4f5a-b660-f58dd68954a5"},"outputs":[],"source":"plt.figure(figsize=(11, 9))\nsns.countplot(x=\"hotel_nights\", data=train)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"4b492632-1730-404b-8ba3-1f47a54b92b1"},"outputs":[],"source":"# distribution of the total number of people per cluster\nsrc_total_cnt = train.srch_adults_cnt + train.srch_children_cnt\ntrain['src_total_cnt'] = src_total_cnt\nax = sns.kdeplot(train['hotel_cluster'], train['src_total_cnt'], cmap=\"Purples_d\")\nlim = ax.set(ylim=(0.5, 4.5))"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"7dd4b30b-dc82-4344-b0d2-32c6079f75b2"},"outputs":[],"source":"# plot all columns countplots\nimport numpy as np\nrows = train.columns.size//3 - 1\nfig, axes = plt.subplots(nrows=rows, ncols=3, figsize=(12,18))\nfig.tight_layout()\ni = 0\nj = 0\nfor col in train.columns:\n    if j >= 3:\n        j = 0\n        i += 1\n    # avoid to plot by date    \n    if train[col].dtype == np.int64:\n        sns.countplot(x=col, data=train, ax=axes[i][j])\n        j += 1"}],"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}